Python的excel处理操作

Python处理Excel最常用pandas结合openpyxl或xlsxwriter库。1. 安装命令:pip install pandas openpyxl xlsxwriter;2. 用pd.read_excel()读取文件,支持指定工作表、列名和索引;3. 用to_excel()写入数据,可配合ExcelWriter追加多表;4. 使用XlsxWriter引擎设置字体、颜色等样式;5. 常见操作包括筛选保存、合并多文件及读取多工作表到字典,满足自动化报表与数据清洗需求。

Python处理Excel文件最常用的方式是使用 pandasopenpyxlxlsxwriter 库。这些工具可以读取、写入、修改Excel(.xlsx)文件,适合自动化报表、数据清洗等任务。

1. 安装必要的库

打开终端或命令行,运行以下命令安装所需包:
  • pip install pandas – 数据处理核心库
  • pip install openpyxl – 读写 .xlsx 文件(支持 Excel 2010+)
  • pip install xlsxwriter – 用于创建和写入带格式的 Excel 文件(可选)

2. 读取 Excel 文件

使用 pandas.read_excel() 可以快速将 Excel 表格加载为 DataFrame:


import pandas as pd

读取第一个工作表

df = pd.read_excel('data.xlsx')

读取指定工作表(按名称或索引)

df = pd.read_excel('data.xlsx', sheet_name='Sheet1')

不使用第一行为列名

df = pd.read_excel('data.xlsx', header=None)

指定某一列作为索引

df = pd.read_excel('data.xlsx', index_col=0)

3. 写入 Excel 文件

使用 to_excel() 方法将 DataFrame 写入 Excel:


# 将数据写入新文件
df.to_excel('output.xlsx', index=False)

写入指定工作表

with pd.ExcelWriter('output.xlsx') as writer: df.to_excel(writer, sheet_name='数据汇总', index=False)

如果要追加多个表到同一个文件,避免覆盖原有内容:


from openpyxl import load_workbook

with pd.ExcelWriter('output.xlsx', engine='openpyxl', mode='a') as writer: writer.book = load_workbook('output.xlsx') df_new.to_excel(writer, sheet_name='新表', index=False)

4. 处理样式(使用 XlsxWriter)

若需添加颜色、字体、边框等格式,推荐使用 XlsxWriter 引擎:


import pandas as pd

创建带有格式的写入器

with pd.ExcelWriter('styled_output.xlsx', engine='xlsxwriter') as writer: df.to_excel(writer, sheet_name='格式化表格', index=False)

# 获取 workbook 和 worksheet 对象
workbook  = writer.book
worksheet = writer.sheets['格式化表格']

# 定义格式
header_format = workbook.add_format({
    'bold': True,
    'bg_color': '#D7E4BC',
    'border': 1
})

# 给表头加样式
for col_num, value in enumerate(df.columns.values):
    worksheet.write(0, col_num + 1, value, header_format)

5. 常见操作示例

  • 筛选数据后保存:df[df['销售额'] > 1000].to_excel('高销售额.xlsx', index=False)
  • 合并多个文件:循环读取多个 Excel 文件,用 pd.concat() 合并后统一输出
  • 读取多工作表到字典:pd.read_excel('file.xlsx', sheet_name=None) 返回一个字典,键为表名

基本上就这些。掌握读、写、样式设置,就能应对大多数Excel自动化需求。