python代码把excel“申请表”中的数据向已有数据的“汇总表”的空行中追加,不覆盖原表数据
时间: 2023-07-15 14:12:18 浏览: 68
python向已存在的excel中新增表,不覆盖原数据的实例
可以使用Python中的pandas库来操作Excel文件。下面是一个示例代码,假设“申请表”和“汇总表”都在同一目录下,且两个Excel文件中的工作表名称都为“Sheet1”。
```python
import pandas as pd
# 读取申请表和汇总表的数据
df1 = pd.read_excel('申请表.xlsx', sheet_name='Sheet1')
df2 = pd.read_excel('汇总表.xlsx', sheet_name='Sheet1')
# 合并两个表格,并将结果保存到新的DataFrame对象中
df3 = pd.concat([df2, df1], axis=0, ignore_index=True)
# 将结果写入Excel文件中的新工作表中
with pd.ExcelWriter('汇总表.xlsx', mode='a') as writer:
df3.to_excel(writer, sheet_name='Sheet2', index=False)
```
这个代码中,我们首先使用pandas库的read_excel()方法读取Excel文件中的数据,然后使用concat()方法将两个DataFrame对象合并成一个新的DataFrame对象。其中,参数axis=0表示按行合并,ignore_index=True表示重建索引。最后,我们使用ExcelWriter()方法创建一个Excel文件写入器,并将合并后的结果写入新的工作表中。
注意,这个示例代码是将结果写入了新的工作表中,如果你想要追加到原有工作表的末尾,可以将mode参数设置为'a',即:
```python
with pd.ExcelWriter('汇总表.xlsx', mode='a') as writer:
df3.to_excel(writer, sheet_name='Sheet1', index=False, startrow=len(df2)+1)
```
其中,startrow参数指定了数据写入的起始行号,即从原有数据的下一行开始写入。这里我们使用了len(df2)+1来计算起始行号。
阅读全文