文章目录
系列文章
第一章 python办公自动化之批量修改docx——以修改含有表格的word文件为例
第二章 python办公自动化之批量生成docx——根据excel (word)生成word (excel)
第三章 python办公自动化之python-docx,openpyxl——根据excel(word表格)填写word表格(excel)
一、使用openpyxl读写excel是否是必需的?
- 使用openpyxl读写excel当然不是必需的,pandas就可以良好的完成读取和写入,类似的包pypi上存在上十页的项目索引,当然openpyxl在这些同类包中出类拔萃。
- pandas适用于(大量)数据的分析和处理;若要对单元格(cell)级别进行个性化的操作,如合并某几处单元格,如在excel中生成图表,则适用openpyxl,penpyxl调用了excel的hook,可以说openpyxl是python版本的excel VBA。
二、快速熟悉openpyxl
openpyxl官网列明了详细的用法,这里就不再赘述了,已经有不少自称原创的文章翻译了官网。在笔者看来,语言问题属于chrome浏览器或者360浏览器的翻译插件就可以完美解决的问题。官网+help()+dir()指令无往不利。
使用网页翻译
输出:
2.1 openpyxl读取excel
openpyxl读取现有excel
from openpyxl import load_workbook
import pandas as pdw
b = load_workbook(filename = '样例.xlsx')
print("sheeet names:",wb.sheetnames)
ws1 = wb['合同']
print("content of sheet {}:".format(ws1.title))
for row in ws1.iter_rows(min_row=1, max_col=3, max_row=11, values_only=True):
print(row)
# openpyxl支持numpy和pandas
# pd.DataFrame(ws1.values) #适用于没有表头和索引的情况
from itertools import islice
data = ws1.values
cols = next(data)[1:] #next(data)
data = list(data)
idx = [r