批量合并不同工作薄中不同sheet表的数据
时间: 2023-08-07 12:02:07 浏览: 80
快速合并单个excel表中的多个sheet的工作页.pdf
可以使用 Python 中的 Pandas 模块来批量合并不同工作簿中不同 sheet 表的数据。具体步骤如下:
1. 使用 Pandas 的 read_excel() 方法读取所有需要合并的 Excel 文件,并将数据存储到一个字典中,其中字典的键为文件名,值为 DataFrame。
```python
import pandas as pd
import glob
# 定义一个空字典
data_dict = {}
# 获取所有需要合并的 Excel 文件
excel_files = glob.glob("*.xlsx")
# 循环读取每个文件中的所有 sheet 表,并存储到字典中
for file in excel_files:
sheets_dict = pd.read_excel(file, sheet_name=None)
for sheet_name, sheet_data in sheets_dict.items():
key = f"{file}_{sheet_name}"
data_dict[key] = sheet_data
```
2. 使用 Pandas 的 concat() 方法将所有 DataFrame 合并成一个 DataFrame。
```python
# 将所有 DataFrame 合并成一个 DataFrame
merged_data = pd.concat(data_dict.values(), ignore_index=True)
```
3. 将合并后的 DataFrame 写入到一个新的 Excel 文件中。
```python
# 将合并后的 DataFrame 写入到一个新的 Excel 文件中
merged_data.to_excel("merged_data.xlsx", index=False)
```
这样就可以批量合并不同工作簿中不同 sheet 表的数据了。需要注意的是,如果不同的 sheet 表中列名不一致,需要先将列名统一。另外,如果不同的 sheet 表中列的数量和顺序不一致,需要使用 merge() 方法来进行合并。
阅读全文