文档章节

Python操作Excel新版本xlsx文件

Airship
 Airship
发布于 2017/07/08 22:12
字数 668
阅读 45
收藏 0

 

之前处理excel的读写时用的是xlrd/xlwt,但是这两个库有个缺点就是只对xls的格式处理的比较好,对以xlsx结尾的格式就不行了。由于现在大家使用的都是最新版本的office,excel的格式都是xlsx,因此此时再继续用xlrd/xlwt处理就不合适了,庆幸的是对于xlsx文件的读写,我们还可以使用openpyxl来操作。

我对excel并不熟悉,平时也不怎么用,所以对excel的处理很简单,只是简单的读写,这里演示的也是简单的读写操作,具体的高级功能,可以参考文后的链接地址。

一:写一个excel文件如下

 1 from openpyxl import Workbook
 2 from openpyxl.utils import get_column_letter
 3 
 4 # 在内存中创建一个workbook对象,而且会至少创建一个 worksheet
 5 wb = Workbook()
 6 
 7 #获取当前活跃的worksheet,默认就是第一个worksheet
 8 ws = wb.active
 9 
10 #设置单元格的值,A1等于6(测试可知openpyxl的行和列编号从1开始计算),B1等于7
11 ws.cell(row=1, column=1).value = 6
12 ws.cell("B1").value = 7
13 
14 #从第2行开始,写入9行10列数据,值为对应的列序号A、B、C、D...
15 for row in range(2,11):
16     for col in range (1,11):
17         ws.cell(row=row, column=col).value = get_column_letter(col)
18 
19 #可以使用append插入一行数据
20 ws.append(["我","你","她"])
21 
22 #保存
23 wb.save(filename="/Users/budong/Desktop/a.xlsx")

二:读刚刚写入的excel内容如下

 1 from openpyxl import load_workbook
 2 
 3 #打开一个workbook
 4 wb = load_workbook(filename="/Users/budong/Desktop/a.xlsx")
 5 
 6 #获取当前活跃的worksheet,默认就是第一个worksheet
 7 #ws = wb.active
 8 
 9 #当然也可以使用下面的方法
10 
11 #获取所有表格(worksheet)的名字
12 sheets = wb.get_sheet_names()
13 #第一个表格的名称
14 sheet_first = sheets[0]
15 #获取特定的worksheet
16 ws = wb.get_sheet_by_name(sheet_first)
17 
18 #获取表格所有行和列,两者都是可迭代的
19 rows = ws.rows
20 columns = ws.columns
21 
22 #迭代所有的行
23 for row in rows:
24     line = [col.value for col in row]
25     print line
26 
27 #通过坐标读取值
28 print ws.cell('A1').value    # A表示列,1表示行
29 print ws.cell(row=1, column=1).value

参考资料:

python-excel:http://www.python-excel.org

用Python读写Excel文件:http://www.gocalf.com/blog/python-read-write-excel.html

python操作excel表格(xlrd/xlwt):http://www.cnblogs.com/zhoujie/p/python18.html

Python操作excel的几种方式–xlrd、xlwt、openpyxl:http://wenqiang-china.github.io/2016/05/13/python-opetating-excel/

Python读写Excel文件:https://gerald.top/article/32/python-excel

Python中操作Excel 2000的xlsx文件(使用openpyxl):https://www.coder4.com/archives/3991

python读写excel:http://liuliqiang.info/post/112/

Python 读写excel文件:https://segmentfault.com/a/1190000005144821

官方文档openpyxl:https://openpyxl.readthedocs.io/en/default/

  •  

本文转载自:http://peiqiang.net/2017/03/23/how-to-use-openpyxl.html

共有 人打赏支持
Airship
粉丝 41
博文 965
码字总数 20029
作品 0
南京
高级程序员
私信 提问
怎么解决windows平台下python 中xlrd模块对97-03 xls文件无法读取数据的问题

我用xlrd对excel文件进行数据读取,对07以上的xlsx格式文件就没有问题,但对97-03版本的xls格式文件,就有如下报错。后来我查了下,github上说是windows平台下,如果是被读取的xls文件中包含...

风满楼kk
2016/04/23
320
0
python遇上excel(1)

学完了python操纵word,我们今天就来学习python操纵excel。 安装openpyxl 为了操纵excel,我们需要安装openpyxl这个第三方库,还是老规矩,直接在cmd输入pip install openpyxl即可。 excel文...

雨路浅歌
2018/08/10
0
0
Python处理Excel数据

前段时间做了个小项目,帮个海洋系的教授做了个数据处理的软件。基本的功能很简单,就是对Excel里面的一些数据进行过滤,统计,对多个表的内容进行合并等。之前没有处理Excel数据的经验,甚至...

Lwxxx
2012/08/01
0
0
python学习-windows下使用python27将合并多个xlsx文件

有时候需要处理很多报表,将一个目录下的所有excel格式报表合并,手工操作费事费力如果能使用python,将多个.xlsx同时能够合并多个excel表的话,多么方便。 1、windows上python配置 windows上...

羊草
2018/08/09
0
0
使用Python代码处理Excel

使用Python操作Excel不是什么难事,需要用到两个Lib, python-xlrd,python-xlwt 安装 pip install xlrd xlwt支持xls,xlsx格式 写Excel 创建一个文件workbook = xlwt.Workbook(encoding='ut......

alazyer
2014/04/17
0
0

没有更多内容

加载失败,请刷新页面

加载更多

设计模式-适配器模式

一、什么是适配器? 适配器就是一种适配中间件,将两种不匹配的东西进行适配连接,举一个生活中的例子。小金最近买了最新款的macbook pro,但是发现电脑的数据接口都变成了Type c接口,这导致...

kimyeongnam
28分钟前
2
0
在没有 Emacs 的情况下使用 Org 模式

每到年初似乎总有这么一个疯狂的冲动来寻找提高生产率的方法。新年决心,正确地开始一年的冲动,以及“向前看”的态度都是这种冲动的表现。软件推荐通常都会选择闭源和专利软件。但这不是必须...

linux-tao
40分钟前
3
0
Krpano skin_settings解释

<skin_settings maps="false" 是否显示地图按钮 maps_type="google" 地图类型 maps_bing_api_key="" bing地图授权key maps_google_......

华山猛男
42分钟前
3
0
兼容率达78%!首份Android Q版本兼容性评测报告出炉

据《Android Q Beta 1版本—国内主流千款典型应用兼容性测试数据评测报告》显示,该版本兼容率为78%。 那么,千款主流应用在Android Q版本兼容情况表现如何,不兼容的主要原因是什么,又将如...

安卓绿色联盟
43分钟前
2
0
二维数组排序

以二维数组$arr中apply_num为数字降序排列:array_multisort(array_column($arr,'apply_num'),SORT_DESC,SORT_NUMERIC,$arr);...

郭周园
48分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部