python的openpyxl模块的使用
发布时间 :
阅读 :
1 背景
今天舍友让我帮忙用python处理xlsx表格,但是自己还没意识到python还有这种强大的模块openpyxl,所以就拿来学习一下
2 开源地址
https://openpyxl.readthedocs.io/en/stable/
3 简介
openpyxl是一个Python库,用于读取/写入Excel 2010 xlsx / xlsm / xltx / xltm文件。
4 具体使用
4.1 创建工作簿
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| # 创建工作簿 from openpyxl import Workbook wb = Workbook()
# 创建工作表,默认插在工作簿末尾 ws = wb.create_sheet()
# 工作表命令 ws.title = "ikun"
# 输出所有工作表 print(wb.get_sheet_names())
# 循环输出工作表 for sheet in wb: print(sheet.title)
|
4.2 操作数据
为了实验效果,我事先找了以前的一个excel文档,里面有只有页Sheet1,其中数据内容如下
读取数据
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
| from openpyxl import load_workbook
# 读入data.xlsx的内容,并将其输入到iris中 fileHome = "d:/tmp/data.xlsx" wb = load_workbook(filename = fileHome) ws = wb["Sheet1"]
# 打印sheet页 print(wb.sheetnames)
# 打印第C列 print(ws["C"])
# 打印第4行 print(ws["4"])
# 打印第C4格的值 print(ws["C4"].value)
# 打印最大行数 print(ws.max_row)
# 打印最大列数 print(ws.max_column)
# 打印A列中的所有值 for i in ws["A"]: print(i.value, end=" ")
print()
# 打印D列中的所有值 for i in range(100): print(ws.cell(row = i + 1, column = 4).value, end =" ")
|
修改数据
1 2 3 4 5 6 7 8 9
| from openpyxl import Workbook wb = Workbook() ws = wb.active ws.title = "ikun" ws['C3'] = 'Hello world!!!' for i in range(10): ws["A%d" % (i+1)].value = i + 1 ws["E1"].value = "=SUM(A:A)" wb.save('d:/tmp/demo.xlsx')
|
5 总结
通过这次使用openpyxl模块,我又一次被python震撼了,从此以后为了自己的头发,还是多用python吧
(#^.^#)(#^.^#)(#^.^#)
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达,可以邮件至 xingshuaikun@163.com。