andas写入到指定Excel指定单元中,并指定具体行和列,不删除原表中的数据
时间: 2024-03-10 10:44:14 浏览: 55
要将 Pandas DataFrame 写入到指定的 Excel 工作簿的指定单元格,并且不删除原表中的数据,可以使用 Pandas 提供的 `openpyxl` 引擎,并且使用 `load_workbook` 函数读取 Excel 文件,然后使用 `to_excel` 函数,并指定 `startrow` 和 `startcol` 参数来指定具体行和列。下面是一个示例代码:
```python
import pandas as pd
from openpyxl import load_workbook
# 创建 DataFrame
df = pd.DataFrame({'Name': ['Alice', 'Bob', 'Charlie'],
'Age': [25, 30, 35]})
# 选择要写入的工作表和单元格
sheet_name = 'Sheet1'
cell = 'B2'
# 读取 Excel 文件
book = load_workbook('example.xlsx')
# 将 DataFrame 写入到指定单元格
writer = pd.ExcelWriter('example.xlsx', engine='openpyxl')
writer.book = book
writer.sheets = dict((ws.title, ws) for ws in book.worksheets)
df.to_excel(writer, sheet_name=sheet_name, startrow=1, startcol=1, index=False)
# 保存 Excel 文件
writer.save()
```
在上面的代码中,我们首先创建了一个 DataFrame,然后选择要写入的工作表和单元格。接着,我们使用 `load_workbook` 函数读取 Excel 文件,并创建一个 `ExcelWriter` 对象,并指定 `engine='openpyxl'` 使用 `openpyxl` 引擎。然后,我们将 `ExcelWriter` 对象的 `book` 属性设置为 `load_workbook` 函数返回的对象,将 `ExcelWriter` 对象的 `sheets` 属性设置为一个字典,包含了工作表名称和工作表对象的键值对。最后,我们使用 `to_excel` 函数,并指定 `startrow=1` 和 `startcol=1` 来将 DataFrame 写入到指定单元格,然后使用 `writer.save()` 保存 Excel 文件。这样,就可以将 DataFrame 写入到指定的 Excel 工作簿的指定单元格,并且不删除原表中的数据。
阅读全文