一、简介
openpyxl是一个用于读写Excel xlsx/xlsm/xltx/xltm文件的Python库,其中,xlsx/xlsm是Excel 2007或更高版本的文件格式,xltx/xltm是Excel的模板。
这个库使用起来非常简单易懂,提供了类似于操作Python字典的API来操作Excel文件。
二、安装
在终端中使用pip install openpyxl命令即可快速安装。
pip install openpyxl
三、读取Excel文件
读取Excel文件是openpyxl包中最基础的操作,使用openpyxl.load_workbook() 方法打开Excel文件,然后通过取得工作表的实例sheet,使用for循环读取每一行的数据。
import openpyxl
workbook = openpyxl.load_workbook('example.xlsx')
sheet = workbook.active
for row in sheet.iter_rows():
for cell in row:
print(cell.value, end=', ')
print('\n')
四、写入Excel数据
除了读取Excel中的数据,将数据写入Excel也是openpyxl的一项重要功能。首先使用openpyxl.load_workbook() 方法打开Excel文件,取得要写入数据的工作表实例sheet,然后使用sheet.cell() 方法将数据写入对应的单元格。
import openpyxl
workbook = openpyxl.load_workbook('example.xlsx')
sheet = workbook.active
sheet['A1'] = 'Name'
sheet['B1'] = 'Age'
sheet['C1'] = 'Country'
data = [
{'name': 'Tom', 'age': 23, 'country': 'China'},
{'name': 'Jerry', 'age': 34, 'country': 'USA'},
{'name': 'Kate', 'age': 27, 'country': 'Japan'},
]
for index, row in enumerate(data, start=2):
sheet.cell(row=index, column=1).value = row['name']
sheet.cell(row=index, column=2).value = row['age']
sheet.cell(row=index, column=3).value = row['country']
workbook.save('example.xlsx')
五、格式化Excel文件
openpyxl不仅仅可以读取和写入单元格的值,还可以格式化Excel文件的字体、颜色、边框等。
from openpyxl.styles import Font, Alignment
from openpyxl.worksheet.dimensions import ColumnDimension
workbook = openpyxl.Workbook()
sheet = workbook.active
column_dimensions = sheet.column_dimensions['A']
column_dimensions.width = 20
sheet['A1'] = '姓名'
sheet['A1'].font = Font(size=14, bold=True, color='0000FF')
sheet['A1'].alignment = Alignment(horizontal='center', vertical='center')
workbook.save('format.xlsx')
六、操作Excel表格
openpyxl还支持多种针对Excel表格的操作,包括添加/删除列、行,调整行高列宽等操作。
workbook = openpyxl.Workbook()
sheet = workbook.active
sheet.column_dimensions.insert(1, ColumnDimension(sheet, width=20))
sheet.row_dimensions[1].height = 20
for i in range(1, 11):
sheet.cell(row=i, column=1).value = f'数据{i}'
sheet.cell(row=i, column=2).value = f'{i * 10}'
workbook.save('table.xlsx')
七、结语
本篇文章介绍了openpyxl模块的基础用法,以上的操作只是openpyxl的冰山一角,openpyxl提供了众多操作Excel文件的方法,读者可以去官网了解更多API的使用方法。