pandas合并多个excel文件中的多张表每张表的列数不一样
时间: 2023-09-08 21:01:45 浏览: 257
使用pandas库可以很方便地合并多个Excel文件中的多张表,即使每张表的列数不一样。
首先,我们要导入pandas库和os库来处理文件路径。使用pandas的read_excel()方法读取每个Excel文件中的每张表,将每张表读取为一个DataFrame对象。
接下来,我们可以创建一个空的DataFrame对象用于存储合并后的结果。然后,使用pandas的concat()函数将每个表的数据按行进行合并,行数不一样的表会自动补充NaN值。通过设置axis参数为0,我们可以将数据按行合并。
最后,我们可以使用pandas的to_excel()方法将合并后的结果保存到新的Excel文件中。
下面是代码示例:
```python
import pandas as pd
import os
# 定义要合并的Excel文件路径
file_dir = '路径/多个Excel文件所在的文件夹'
# 获取文件夹中的所有Excel文件
file_list = [os.path.join(file_dir, file) for file in os.listdir(file_dir) if file.endswith('.xlsx')]
# 创建一个空的DataFrame对象用于存储结果
result = pd.DataFrame()
# 读取每个Excel文件中的每张表,并将其合并到result中
for file in file_list:
sheets = pd.read_excel(file, sheet_name=None)
for sheet_name, sheet_data in sheets.items():
result = pd.concat([result, sheet_data], ignore_index=True, axis=0)
# 将合并后的结果保存到新的Excel文件中
result.to_excel('合并结果.xlsx', index=False)
```
这样,我们就可以将多个Excel文件中的多张表按行合并,并保存到新的Excel文件中。无论每张表的列数是否一样,合并的代码都可以正常执行。
阅读全文