本文目录导读:
是的,我清楚用Python操作Excel文件的方法,以下是常用的几种方式,包含具体案例:
使用pandas库(最推荐)
import pandas as pd
# 读取Excel文件
df = pd.read_excel('data.xlsx', sheet_name='Sheet1')
# 查看数据
print(df.head())
# 写入Excel文件
df.to_excel('output.xlsx', index=False, sheet_name='结果')
# 多个sheet写入
with pd.ExcelWriter('multi_sheet.xlsx') as writer:
df.to_excel(writer, sheet_name='数据1', index=False)
df2.to_excel(writer, sheet_name='数据2', index=False)
使用openpyxl库(适合复杂操作)
from openpyxl import Workbook, load_workbook
# 创建新工作簿
wb = Workbook()
ws = wb.active= "员工信息"
# 写入数据
ws['A1'] = '姓名'
ws['B1'] = '年龄'
ws['A2'] = '张三'
ws['B2'] = 25
# 保存
wb.save('员工信息.xlsx')
# 读取已有文件
wb = load_workbook('员工信息.xlsx')
ws = wb.active
# 读取数据
for row in ws.iter_rows(min_row=1, max_row=5, values_only=True):
print(row)
# 修改单元格
ws['B2'] = 26
wb.save('员工信息.xlsx')
使用xlrd/xlwt库(旧版,仅支持.xls)
import xlrd
import xlwt
# 读取.xls文件
workbook = xlrd.open_workbook('old_data.xls')
sheet = workbook.sheet_by_index(0)
# 获取数据
for row in range(sheet.nrows):
print(sheet.row_values(row))
# 写入.xls文件
workbook = xlwt.Workbook()
sheet = workbook.add_sheet('Sheet1')
sheet.write(0, 0, 'Hello')
sheet.write(0, 1, 'World')
workbook.save('new_data.xls')
综合案例:数据处理
import pandas as pd
# 案例:读取销售数据并分析
df = pd.read_excel('sales.xlsx')
# 数据清洗
df.dropna(inplace=True) # 删除空值
df['日期'] = pd.to_datetime(df['日期'])
# 数据统计
monthly_sales = df.groupby(df['日期'].dt.month)['销售额'].sum()
# 写入结果
monthly_sales.to_excel('月销售统计.xlsx', sheet_name='月度统计')
# 添加数据可视化
import matplotlib.pyplot as plt
monthly_sales.plot(kind='bar')
plt.savefig('销售图表.png')
安装所需库
pip install pandas openpyxl xlrd xlwt xlsxwriter
注意事项
- pandas:适合数据分析和批量处理
- openpyxl:适合格式控制、图表等复杂操作
- xlrd/xlwt:仅支持旧版.xls格式
- xlsxwriter:适合创建带格式的.xlsx文件
需要我演示具体的应用场景吗?比如工资表处理、数据自动汇总等案例。
标签: Python Excel