使用python操作excel之xlsx文件介绍

前段时间做一个项目,不得不使用python直接生成excel文件,后来随着需求的变化,还要对已有的excel文件进行读取。所以想着记录下来,这篇文章主要给大家介绍了python操作excel之xlsx文件的相关资料,需要的朋友可以参考下。

前言

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

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

一:写一个excel文件如下

from openpyxl import workbook
from openpyxl.utils import get_column_letter
# 在内存中创建一个workbook对象,而且会至少创建一个 worksheet
wb = workbook()
#获取当前活跃的worksheet,默认就是第一个worksheet
ws = wb.active
#设置单元格的值,a1等于6(测试可知openpyxl的行和列编号从1开始计算),b1等于7
ws.cell(row=1, column=1).value = 6
ws.cell(“b1”).value = 7
#从第2行开始,写入9行10列数据,值为对应的列序号a、b、c、d…
for row in range(2,11):
for col in range (1,11):
ws.cell(row=row, column=col).value = get_column_letter(col)
#可以使用append插入一行数据
ws.append([“我”,”你”,”她”])
#保存
wb.save(filename=”/users/budong/desktop/a.xlsx”)

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

from openpyxl import load_workbook
#打开一个workbook
wb = load_workbook(filename=”/users/budong/desktop/a.xlsx”)
#获取当前活跃的worksheet,默认就是第一个worksheet
#ws = wb.active
#当然也可以使用下面的方法
#获取所有表格(worksheet)的名字
sheets = wb.get_sheet_names()
#第一个表格的名称
sheet_first = sheets[0]
#获取特定的worksheet
ws = wb.get_sheet_by_name(sheet_first)
#获取表格所有行和列,两者都是可迭代的
rows = ws.rows
columns = ws.columns
#迭代所有的行
for row in rows:
line = [col.value for col in row]
print line
#通过坐标读取值
print ws.cell(‘a1’).value # a表示列,1表示行
print ws.cell(row=1, column=1).value

以上就是使用python操作excel之xlsx文件介绍的详细内容,更多请关注 第一php社区 其它相关文章!

Posted in 未分类