使用 Python 操作 Excel 文件,最常用的库有两个:
openpyxl
(适用于.xlsx
文件)pandas
(简洁、功能强大,通常结合openpyxl
或xlrd
使用)
下面我给你举例说明 Excel 文件的基本操作,包括读取、写入、新建文件、修改单元格、追加数据等。
1. 用 pandas 读写 Excel
安装库
bash
pip install pandas openpyxl
读取 Excel
Python
import pandas as pd
df = pd.read_excel('文件名.xlsx', sheet_name='Sheet1')
print(df)
写入 Excel(保存 DataFrame)
Python
df.to_excel('新文件.xlsx', index=False) # 不写行号
追加数据到现有 Excel
pandas 不能直接往现有文件追加,需要先读出来、合并后再写回去:
Python
new_data = pd.DataFrame({'姓名': ['小明'], '分数': [100]})
df = pd.read_excel('文件名.xlsx')
df = pd.concat([df, new_data], ignore_index=True)
df.to_excel('文件名.xlsx', index=False)
2. 用 openpyxl 操作 Excel(更适合单元格级操作)
安装库
bash
pip install openpyxl
读取 Excel 表格
Python
from openpyxl import load_workbook
wb = load_workbook('文件名.xlsx')
ws = wb['Sheet1']
for row in ws.iter_rows(values_only=True):
print(row)
写入新数据
Python
from openpyxl import Workbook
wb = Workbook()
ws = wb.active
ws.title = 'Sheet1'
ws['A1'] = '姓名'
ws['B1'] = '分数'
ws.append(['小明', 100])
wb.save('新文件.xlsx')
修改某个单元格
Python
wb = load_workbook('文件名.xlsx')
ws = wb['Sheet1']
ws['B2'] = 90 # B2单元格改为90分
wb.save('文件名.xlsx')
追加一行
Python
wb = load_workbook('文件名.xlsx')
ws = wb['Sheet1']
ws.append(['小红', 95])
wb.save('文件名.xlsx')
常见问题
- pandas 读大数据、做统计、做数据分析强
- openpyxl 适合需要格式、公式、或操作指定单元格等更细致控制