Pandas ExcelWrite()读写Excel

本文详细介绍了Pandas的ExcelWriter函数,包括参数解释和使用示例。通过`ExcelWriter`,你可以选择不同的写入引擎,如`openpyxl`,并设置日期格式、模式和处理已存在工作表的方式。示例中展示了如何覆盖、追加和新建工作表,以及如何通过`if_sheet_exists`参数控制已有工作表的行为。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Pandas ExcelWrite()的使用

1. pandas.ExcelWrite()参数介绍

pandas.Excelwrite(path, engine=None, date_format=None, datetime_format=None, mode=‘w’, storage_options=None, if_sheet_exists=None, engine_kwargs=None, **kwargs )

path: str, Excel文件路径

engine: str, 写入的引擎,常用的为‘openpyxl’, 我测试时Python是安装了openxl模块

date_format: str, 写入日期时可以自定义格式,比如:‘YYYY-MM-DD HH:MM:SS’

mode: str, 文件的读写模式,具体可以参照点击查看,

Starage_option: dict, 对特定存储连接有意义的额外选项,例如主机、端口、用户名、密码等,如果使用将由 fsspec 解析的 URL,例 如,以“s3://”、“gcs://”开头。应该是用来连接服务器用的,不确定。

if_sheet_exixts: str, 当写入的sheet存在时,可以设置为‘error’, ‘new’, ‘replace’, ‘overlay’.

​ error: 如果sheet已经存在,则报错

​ new: 创建新的sheet,命名规则更根据使用的engine

​ replace: 删除原sheet的内容,重新写入, mode=‘a’

​ overlay: 在原有的内容后面追加,df.to_excel()可以通过startcol或者startrow指定追加的位置, mode=‘a’, **pandas为1.4才支持overlay **

engine_kwargs: 要传递到engine的关键字参数,传递给给engine的以下参数

  • xlsxwriter: xlsxwriter.Workbook(file, **engine_kwargs)
  • openpyxl (write mode): openpyxl.Workbook(**engine_kwargs)
  • openpyxl (append mode): openpyxl.load_workbook(file, **engine_kwargs)
  • odswriter: odf.opendocument.OpenDocumentSpreadsheet(**engine_kwargs)

2. 示例:demo.xlsx表格里创建了三个表单为Sheet1, Sheet2, Sheet3

import pandas as pd

df1 = pd.DataFrame({'a': [1, 2, 3, 4, 5, 66666]})
df2 = pd.DataFrame({'b': [111, 222, 3333, 4333, 5555, 66666]})
df3 = pd.DataFrame({'b': [1, 22, 33, 43, 55, 66]})

# if_sheet_exists = replace 覆盖
with pd.ExcelWriter(path='./csv_files/demo.xlsx', mode='a', engine='openpyxl', if_sheet_exists='replace') as writer:
	print(writer.sheets)  # 返回元祖,key为sheet名字,value为sheet对象
	df1.to_excel(excel_writer=writer, sheet_name='Sheet1')  # 写入Sheet1方式为覆盖

	writer.if_sheet_exists = 'overlay'  # 写入Sheet2方式改为追加
	df2.to_excel(excel_writer=writer, sheet_name='Sheet2', startrow=10)

	writer.if_sheet_exists = 'new'  # 写入Sheet3方式改为新建Sheet,如果表已经存在则会根据'openpyxl'的命名方式创建sheet
	df3.to_excel(excel_writer=writer, sheet_name='Sheet3', startrow=10)
### 使用 Pandas 库进行 Excel 文件的读写操作 #### 读取 Excel 文件 Pandas 提供了一个简单的方法 `pd.read_excel()` 来加载 Excel 文件的内容到 DataFrame 中。此方法允许指定许多参数来自定义读取过程。 ```python import pandas as pd # 基本读取方式 df = pd.read_excel('example.xlsx') # 跳过前两行并设置表头位置 df_skip_rows = pd.read_excel('example.xlsx', skiprows=2, header=0) print(df) ``` 对于具有不同列数但相同表头的情况,可以通过设定 `usecols` 参数来只选取特定的列[^3]。 ```python # 只读取某些列 (例如 A 到 Z 对应 1 至 26 列) df_use_cols = pd.read_excel('example.xlsx', usecols="A:Z") print(df_use_cols) ``` #### 写入 Excel 文件 同样地,Pandas 提供了 `DataFrame.to_excel()` 方法用来保存 DataFrame 到 Excel 文件中。 ```python # 创建一个简单的 DataFrame data = {'Column1': ['Value1', 'Value2'], 'Column2': ['Value3', 'Value4']} df_write = pd.DataFrame(data) # 将 DataFrame 写入新的 Excel 文件 df_write.to_excel('output.xlsx', index=False) # 不保存索引 ``` 当需要向已有的工作簿追加数据时,可以先通过 `openpyxl` 或者其他支持的工作簿引擎打开现有文件再执行写入动作[^2]。 ```python from openpyxl import load_workbook with pd.ExcelWriter('existing_file.xlsx', engine='openpyxl') as writer: book = load_workbook(writer.path) writer.book = book df_write.to_excel(writer, sheet_name='NewSheet') writer.save() ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

M_qsqsqsq

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值