Python操作Excel:openpyxl入門
1. openpyxl簡介
openpyxl是Python的一個庫,用於讀取和寫入Excel 2010 xlsx/xlsm/xltx/xltm文件。它支持多種Excel功能,如公式、圖表和格式設置。
2. 安裝openpyxl
可以使用pip來安裝openpyxl庫:
pip install openpyxl
3. 創建Excel文件
以下是創建一個新的Excel文件並寫入數據的示例:
from openpyxl import Workbook
# 創建一個工作簿
wb = Workbook()
ws = wb.active # 獲取當前工作表
# 寫入數據
ws['A1'] = "姓名"
ws['B1'] = "年齡"
ws['A2'] = "小明"
ws['B2'] = 25
# 保存文件
wb.save("example.xlsx")
4. 讀取Excel文件
可以使用openpyxl讀取Excel文件中的數據:
from openpyxl import load_workbook
# 讀取Excel文件
wb = load_workbook("example.xlsx")
ws = wb.active # 獲取當前工作表
# 讀取數據
for row in ws.iter_rows(values_only=True):
print(row) # 輸出每一行的數據
5. 修改Excel文件
可以修改Excel文件中的數據:
from openpyxl import load_workbook
# 讀取Excel文件
wb = load_workbook("example.xlsx")
ws = wb.active # 獲取當前工作表
# 修改數據
ws['B2'] = 26 # 將年齡改為26
# 保存修改
wb.save("example_modified.xlsx")
6. 數據篩選和查詢
可以根據條件篩選和查詢數據:
from openpyxl import load_workbook
# 讀取Excel文件
wb = load_workbook("example.xlsx")
ws = wb.active # 獲取當前工作表
# 查詢年齡大於25的行
for row in ws.iter_rows(min_row=2, values_only=True):
if row[1] > 25: # row[1]是年齡
print(row) # 輸出符合條件的行
7. 練習題
-
創建一個Excel文件,包含學生的姓名、年齡和成績,並寫入數據。
-
讀取一個Excel文件,並計算所有學生的平均成績。
8. 常見錯誤和注意事項
- 確保Excel文件的格式正確,openpyxl僅支持xlsx格式。
- 在讀取和寫入文件時,注意文件的路徑和名稱。
- 在修改文件後,記得保存更改。
9. 最佳實踐
- 使用有意義的列名和行名,以提高可讀性。
- 在處理大型Excel文件時,注意內存使用情況。
- 考慮使用try-except塊來處理可能的異常。