将df 写入已有的excel文件中,不覆盖已有sheet
时间: 2023-04-08 10:03:02 浏览: 65
可以使用 pandas 库中的 `ExcelWriter` 和 `openpyxl` 库来实现这个功能。具体代码如下:
```python
import pandas as pd
from openpyxl import load_workbook
# 读取已有的 excel 文件
book = load_workbook('example.xlsx')
# 创建一个 pandas 的 ExcelWriter 对象
writer = pd.ExcelWriter('example.xlsx', engine='openpyxl')
# 将已有的 sheet 加载到 writer 对象中
writer.book = book
# 将 df 写入到新的 sheet 中,sheet 名称为 'new_sheet'
df.to_excel(writer, sheet_name='new_sheet', index=False)
# 保存并关闭 writer 对象
writer.save()
writer.close()
```
这样就可以将 `df` 写入到已有的 excel 文件中,同时不覆盖已有的 sheet。
相关问题
将df 写入已有的excel文件中
可以使用 pandas 库中的 to_excel() 方法将 DataFrame 写入已有的 Excel 文件中。具体操作可以参考以下代码:
```python
import pandas as pd
# 读取已有的 Excel 文件
df = pd.read_excel('example.xlsx')
# 将新的 DataFrame 写入到已有的 Excel 文件中
with pd.ExcelWriter('example.xlsx', mode='a') as writer:
df.to_excel(writer, sheet_name='Sheet1', index=False)
```
其中,'example.xlsx' 是已有的 Excel 文件名,'Sheet1' 是要写入的工作表名,index=False 表示不将 DataFrame 的索引写入到 Excel 文件中。
python将列表数据写入已有excel表
在使用Python将列表数据写入已有Excel表时,我们需要使用pandas库中的ExcelWriter方法。以下是具体步骤:
1. 首先,需要安装pandas库。可以使用pip install pandas进行安装。
2. 导入pandas库,并读取已有的Excel表格。可以使用read_excel方法读取Excel数据,并将其存储在DataFrame对象中。
3. 在DataFrame对象中添加新的数据。可以使用append方法将列表数据添加到DataFrame对象中。
4. 最后,使用ExcelWriter方法将更新后的DataFrame对象写入原始Excel表格。
具体的代码实现如下:
```python
import pandas as pd
# 读取已有的Excel表格
df = pd.read_excel('data.xlsx')
# 待添加到Excel表格中的列表数据
new_data = [1, 2, 3, 4, 5]
# 在DataFrame对象中添加新的数据
df = df.append({'column_name': new_data}, ignore_index=True)
# 将更新后的DataFrame对象写入原始Excel表格
with pd.ExcelWriter('data.xlsx', mode='a') as writer:
df.to_excel(writer, sheet_name='Sheet1', index=False)
```
在上述代码中,'data.xlsx'为待更新的Excel表格的文件名,'column_name'为Excel表格中的某一列名称,'Sheet1'为待写入Excel表格中的工作表名称。代码运行后,新的数据将被成功写入Excel表格中。