Bootstrap

Python操作Excel——openpyxl使用笔记(1)

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打开了,也不会影响脚本的执行。

;