0. 模块的安装
使用命令:
pip install openpyxl
通过命令:
pip show openpyxl
检查安装,当前使用的版本信息如下:
1. 文档的基本操作
1.1 创建,保存和关闭
几个简单的函数调用即可:
import openpyxl
wb = openpyxl.Workbook()
wb.save("test.xlsx")
wb.close()
执行此脚本将在同目录下创建一个名为test.xlsx的表格文件。
1.2 打开已有文件
使用open函数打开已存在的xlsx文件:
import openpyxl
wb = openpyxl.open('./test.xlsx')
sheet = wb.active
sheet.title = 'by_python'
sheet['A1'] = 'Hello'
wb.save('./test.xlsx')
wb.close()
在解释代码之前,补充一点点xlsx文件的知识,就是一个xlsx文件就是一个工作簿,英文为workbook,然后一个工作簿中包括了1个或者多个工作表,英文名为worksheet,当前使用的工作表叫做活动工作表,最后,一个工作表中包含了很多个的单元格,英文名称是cell,单元格通过行列索引定位,列用字母,二行用数字,例如“A1”表示第一行第一列的单元格,而“C4”表示第三列第四行的单元格。
上面的代码打开了一个已经存在的工作簿,然后向活动工作表中的A1单元格写入了字符串“Hello”,最后保存。打开可以看到内容确实产生了改变。
注意:访问文件前需要确认文件是否存在,如果文件不存在,会报错:
FileNotFoundError: [Errno 2] No such file or directory: './test1.xlsx'
另外,如果文件被Excel打开了,此时会出现错误:
PermissionError: [Errno 13] Permission denied: './test.xlsx'
因此在使用时务必小心。
当然,如果只读取这个excel文件,则可以使用只读模式:
import openpyxl
wb = openpyxl.open('./test.xlsx', read_only=True)
ws = wb.active
print(ws['A1'].value)
wb.close()
在这种情况下,即使文件被Excel打开了,也不会影响脚本的执行。