pandas to_excel追加写入数据代码
时间: 2023-08-31 07:09:56 浏览: 402
可以使用pandas的`ExcelWriter`对象来实现追加写入数据。以下是一个示例代码:
```python
import pandas as pd
# 创建一个空的ExcelWriter对象
writer = pd.ExcelWriter('output.xlsx', engine='openpyxl')
# 读取已有的Excel文件
try:
df = pd.read_excel(writer.path, sheet_name='Sheet1')
except:
df = pd.DataFrame()
# 追加写入数据到DataFrame中
new_data = pd.DataFrame({'col1': [1, 2], 'col2': [3, 4]})
df = df.append(new_data, ignore_index=True)
# 将DataFrame写入Excel文件中
df.to_excel(writer, sheet_name='Sheet1', index=False)
# 关闭ExcelWriter对象
writer.save()
```
这段代码首先创建了一个空的`ExcelWriter`对象,并读取已有的Excel文件中的数据到一个DataFrame中。然后,将新的数据追加到DataFrame中,并将整个DataFrame写入Excel文件中。最后,关闭`ExcelWriter`对象。注意,`ignore_index=True`参数可以确保新数据的索引值从0开始。
相关问题
pandas to_excel指定列追加写入 代码
可以使用`Openpyxl`来实现指定列追加写入Excel文件。以下是一个示例代码:
```Python
import pandas as pd
from openpyxl import load_workbook
# 读取Excel文件
book = load_workbook('example.xlsx')
# 选择工作表
writer = pd.ExcelWriter('example.xlsx', engine='openpyxl')
writer.book = book
writer.sheets = dict((ws.title, ws) for ws in book.worksheets)
# 读取需要追加的数据
df = pd.read_csv('new_data.csv')
# 指定要追加的列
append_cols = ['Column1', 'Column2']
# 追加写入Excel文件
for col in append_cols:
df[col].to_excel(writer, sheet_name='Sheet1', startrow=writer.sheets['Sheet1'].max_row, index=False, header=None)
# 保存文件
writer.save()
```
上面的代码中,首先通过`load_workbook`方法读取Excel文件。然后选择需要追加写入的工作表,并读取需要追加的数据。接着指定要追加的列,遍历列并使用`to_excel`方法将数据追加写入Excel文件。最后保存文件。
Python对to_excel追加写入
你可以使用 `pandas` 库的 `ExcelWriter` 对象来追加写入 Excel 文件。具体步骤如下:
1. 读取原有的 Excel 文件,并将其转换成 `DataFrame` 对象。
2. 创建一个 `ExcelWriter` 对象,将 `DataFrame` 对象写入其中。
3. 关闭 `ExcelWriter` 对象。
以下是示例代码:
```python
import pandas as pd
# 读取原有的 Excel 文件
df = pd.read_excel('example.xlsx')
# 追加写入数据
new_data = pd.DataFrame({'Name': ['Alice', 'Bob'], 'Age': [25, 30]})
df = df.append(new_data, ignore_index=True)
# 创建 ExcelWriter 对象,并将 DataFrame 写入其中
with pd.ExcelWriter('example.xlsx', mode='a') as writer:
df.to_excel(writer, sheet_name='Sheet1', index=False)
# 关闭 ExcelWriter 对象
writer.save()
```
上述代码将在 `example.xlsx` 文件的 `Sheet1` 中追加写入两行数据。注意,需要使用 `mode='a'` 参数来指定追加模式。同时,使用 `ignore_index=True` 参数来忽略原有数据的索引,防止索引重复。
阅读全文