import pandas as pd # 读取第一个 Excel 表格的数据 df1 = pd.read_excel('附件一:2022年12月末存量公司客户管户认领情况表__海沧-1.xlsx') # 定义一个空的 DataFrame,用于存储所有 Excel 表格的数据 result = pd.DataFrame() # 循环读取其他 Excel 表格的数据,合并到 result 中 for file in ['附件三:2022年12月末存量机构客户管户认领情况表__海沧支行-1.xlsx', '附件二:2023年3月末新拓公司客户管户认领情况表__海沧-1.xlsx', '附件四:2023年3月末新拓机构客户管户认领情况表__海沧支行-1.xlsx']: df = pd.read_excel(file) result = result.append(df) # 将第一个 Excel 表格和合并后的所有数据合并 result = pd.concat([result, df], ignore_index=True) # 输出到新的 Excel 表格中 df.to_excel('new_table.xlsx', index=False)
时间: 2024-02-07 12:01:52 浏览: 195
你修改的代码仍然有问题,第 8 行中的 result = pd.DataFrame() 会创建一个空 DataFrame 对象,但是在第 10-13 行的 for 循环中,你使用了 append 方法将 df 合并到 result 中,这会创建另一个新的 DataFrame 对象,result 这个空 DataFrame 对象并没有被修改。因此,在第 15 行的代码中,你再次使用了 df,这个变量并没有被定义,会导致程序运行错误。正确的代码如下:
```python
import pandas as pd
# 读取第一个 Excel 表格的数据
df1 = pd.read_excel('附件一:2022年12月末存量公司客户管户认领情况表__海沧-1.xlsx')
# 定义一个空的 DataFrame,用于存储所有 Excel 表格的数据
result = pd.DataFrame()
# 循环读取其他 Excel 表格的数据,合并到 result 中
for file in ['附件三:2022年12月末存量机构客户管户认领情况表__海沧支行-1.xlsx', '附件二:2023年3月末新拓公司客户管户认领情况表__海沧-1.xlsx', '附件四:2023年3月末新拓机构客户管户认领情况表__海沧支行-1.xlsx']:
df = pd.read_excel(file)
result = pd.concat([result, df], ignore_index=True)
# 将第一个 Excel 表格和合并后的所有数据合并
df = pd.concat([df1, result], ignore_index=True)
# 输出到新的 Excel 表格中
df.to_excel('new_table.xlsx', index=False)
```
这样修改后,代码应该可以正确地将多个 Excel 表格合并到一个 DataFrame 中,并输出到新的 Excel 表格中。
阅读全文