最近看到好几次群里有人问xlwt、wlrd的问题,怎么说呢,如果是office2007刚出来,大家用xlsx文件用不习惯,还可以理解,这都10年过去了喂,就算没有进化到office2016,还在用office2003的有点说不过去吧。有人可以用xlsx保存为xls啊!——故意多做几步操作,目的呢?为了兼容?兼容古老的office2003?而且,既然都用python来操作excel了,还要手动保存一遍文件,这是神马思路?

所以,我还是觉得,应该放弃xls而转型xlsx。所以才有了这篇文章——xlwt、wlrd只能读写xls文件,而不能操作xlsx文件。

解决方案:openpyxl。这是一个非常简单的库,有几分钟就能上手了。安装非常简单,pip install openpyxl一步搞定,我就主要来说说对excel的操作。当然,前面废话那么多,同学们差不多也能猜到了吧,openpyxl只能操作xlsx文件而不能操作xls文件。

1、基本概念

在openpyxl中,主要用到三个概念:Workbooks,Sheets,Cells。Workbook就是一个excel工作表;Sheet是工作表中的一张表页;Cell就是简单的一个格。openpyxl就是围绕着这三个概念进行的,不管读写都是“三板斧”:打开Workbook,定位Sheet,操作Cell。下面分读和写分别介绍几个常见的方法。

2、读取xlsx

为了做实验,我事先准备好了一个excel文档,里面有Sheet1,Sheet2,Sheet3这三个页,在Sheet3中填入了如下内容:

首先用from openpyxl import load_workbook

引入库wb = load_workbook("template.xlsx")

打开一个xlsx文件print(wb.sheetnames) # ['Sheet1', 'Sheet2', 'Sheet3']

可以看看打开的Excel里有哪些sheet页sheet = wb.get_sheet_by_name("Sheet3")

读取到指定的Sheet页,sheet就变得神奇了,想要的内容都在这里。比如:print(sheet["C"]) # (, , , , , , , , , ) <-第C列

print(sheet["4"]) # (, , , , ) <-第4行

print(sheet["C4"].value) # c4 <-第C4格的值

print(sheet.max_row) # 10 <-最大行数

print(sheet.max_column) # 5 <-最大列数

for i in sheet["C"]:

print(i.value, end=" ") # c1 c2 c3 c4 c5 c6 c7 c8 c9 c10 <-C列中的所有值

写入xlsx

首先用from openpyxl import Workbook

wb = Workbook()

创建一个工作表,然后sheet = wb.active

找到活动的sheet页。空的excel表默认的sheet页就叫Sheet,如果想改名字,可以直接给title属性赋值。sheet.title = "New Shit"

这个属性是可读可写的。当然,这个只针对当前活动页,别的页的话,可以用create_sheet和remove_sheet进行添加和删除。

往sheet页里面写内容就比较简单了,跟上面读一样,sheet['C3'] = 'Hello world!'

for i in range(10):

sheet["A%d" % (i+1)].value = i + 1

我们还可以进行花式操作,比如写写公式:sheet["E1"].value = "=SUM(A:A)"

最后记得保存wb.save('保存一个新的excel.xlsx')

以上就是如何用python打开excel的详细内容,更多请关注php中文网其它相关文章!

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

python怎么用excel-如何用python打开excel相关推荐

  1. 用python开启相机_如何用Python打开realsenseD435相机并获取相机参数

    如何用Python打开realsenseD435相机 import pyrealsense2 as rs import numpy as np import cv2 if __name__ == &q ...

  2. python vlookup 模糊_如何用python写excel中的vlookup函数?

    1.背景 Vlookup 函数,可以算是一个数据专员必须要会使用的基本函数了,确实很好用.但是你可能会注意到,Excel 一旦数据量过大,打开都费劲了,何况打开后,你还要输入公式计算,就更费劲了,此时 ...

  3. pycharm如何更改python项目环境_如何用Pycharm打开已有项目配置python环境

    如何用Pycharm打开已有项目配置python环境 发布时间:2020-07-06 11:06:30 来源:亿速云 阅读:175 作者:清晨 这篇文章将为大家详细讲解有关如何用Pycharm打开已有 ...

  4. python批处理工具_如何用python批量处理!python批处理教程

    如何用python批量处理 def GetFileList(dir, fileList,notdeal=[]): newDir = dir    if os.path.isfile(dir): fil ...

  5. python怎么读_如何用Python读写文件

    前面我们已经介绍了很多Python相关的基础知识,大家是不是对Python已经有了进一步认识了呢?作为人工智能时代的热门编程语言,开始接触并学习Python的孩子越来越多,家长们都不想让自己的孩子落于 ...

  6. python大数据分析实例-如何用Python分析大数据(以Twitter数据挖掘为例)

    原标题:如何用Python分析大数据(以Twitter数据挖掘为例) 来源:艾翻译(http://www.itran.cc/) 原文标题:Twitter Data Mining: A Guide to ...

  7. 2019最新Python学习路线图:如何用Python创建微信机器人

    微信,一个日活10亿的超级app,不仅在国内社交独领风骚,在国外社交也同样占有一席之地.今天我们要讲的最新Python学习路线教程便是如何用Python来做一个微信聊天机器人,突然想起鲁迅先生曾经说过 ...

  8. python 英语分词_如何用Python做中文分词?

    打算绘制中文词云图?那你得先学会如何做中文文本分词.跟着我们的教程,一步步用Python来动手实践吧. 需求 在<如何用Python做词云>一文中,我们介绍了英文文本的词云制作方法.大家玩 ...

  9. Python学习干货,如何用Python进行数据分析?

    1.为什么选择Python进行数据分析? Python是一门动态的.面向对象的脚本语言,同时也是一门简约,通俗易懂的编程语言.Python入门简单,代码可读性强,一段好的Python代码,阅读起来像是 ...

  10. aes加密算法python语言实现_如何用Python实现AES CCM的加解密

    1.简介 AES CCM被广泛应用于现代通讯中,在学习过程中需要验证数据的加解密的结果,那么有个方便修改的Python脚本工具就是一个迫切的需求. 2. 实施 我们下面介绍如何实现AES CCM的Py ...

最新文章

  1. 北师大版图形的旋转二教案_北师大2011课标版(闫金铎主编)初中物理八年级下册三、重力公开课优质课课件教案视频...
  2. 展望:共融机器人的基础理论与关键技术
  3. switch手柄可以连电脑吗_电脑可以拍照吗
  4. TypeScript初探
  5. 数组超过预设的最大数组大小_工作表数组大小的扩展及意义
  6. LeetCode 881. 救生艇(贪心,双指针)
  7. Javascript Proxy对象 简介
  8. 【英语学习】【WOTD】Parthian 释义/词源/示例
  9. Java字符串拼接“+”需要注意的问题
  10. 如何把Access中数据导入Mysql中 (转)
  11. webstorm 配合IIS使用
  12. 公司的摄像头密码要统一
  13. 网络规划设计师水平考试备考资料(6.光纤相关)
  14. java bsh介绍_BeanShell简介
  15. Skype for Linux下载地址
  16. 论文排版的正确方式—LaTeX【分享贴】
  17. 重命名多个图片文件,并修改图片后缀名
  18. win10 双屏显示 鼠标可以从主屏幕左侧滑入右侧竖屏
  19. 计算机二级备考:Word 部分_3 表格 长文档综合排版 文档 共享
  20. 2022年电力电缆操作证考试题模拟考试平台操作

热门文章

  1. elasticsearch term match multi_match区别
  2. Linux 远程登录
  3. WPF DataGrid横向显示
  4. SQL盲注之时间注入
  5. 在使用添加按钮给table插入新的一行时遇见的问题总结及处理方法
  6. DataBinding初探 数据绑定的用法 ,import 集合类型,绑定的表达式,访问集合类型2...
  7. [luoguP1168]中位数(主席树+离散化)
  8. input 属性和用法
  9. django中如何优雅的处理一个多按钮的表单
  10. 一致性哈希算法----- 解决memecache 服务器扩容后的数据丢失。