OpenPyXL
OpenPyXL 是一个用于在内存中操作和创建 xlsx/xlsm/xltx/xltm 工作簿的模块。
操作和阅读现有工作簿:
import openpyxl as opx
#To change an existing wookbook we located it by referencing its path
workbook = opx.load_workbook(workbook_path)
load_workbook() 包含参数 read_only,设置为 True 会将工作簿加载为 read_only,这在读取较大的 xlsx 文件时很有用:
workbook = opx.load_workbook(workbook_path, read_only=True)
将工作簿加载到内存后,可以使用 workbook.sheets 访问单个工作表
first_sheet = workbook.worksheets[0]
如果要指定可用工作表的名称,可以使用 workbook.get_sheet_names()。
sheet = workbook.get_sheet_by_name('Sheet Name')
最后,可以使用 sheet.rows 访问工作表的行。要迭代工作表中的行,请使用:
for row in sheet.rows:
print row[0].value
由于 rows 中的每个 row 都是 Cell 的列表,因此使用 Cell.value 来获取 Cell 的内容。
在内存中创建新工作簿:
#Calling the Workbook() function creates a new book in memory
wb = opx.Workbook()
#We can then create a new sheet in the wb
ws = wb.create_sheet('Sheet Name', 0) #0 refers to the index of the sheet order in the wb
可以通过 openpyxl 更改多个选项卡属性,例如 tabColor:
ws.sheet_properties.tabColor = 'FFC0CB'
为了保存我们创建的工作簿,我们完成了:
wb.save('filename.xlsx')