一、簡介
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的使用方法。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/244564.html