python將其他路徑中多個工作薄合并為一個工作薄多表
时间: 2023-07-01 21:12:59 浏览: 101
你可以使用Python中的pandas库来合并其他路径中的多个工作簿。下面是一个示例代码,可以将其他路径中的多个Excel文件合并为一个工作簿中的多个表:
```python
import pandas as pd
import os
# 设置其他路径
path = 'other_path/'
# 获取路径下所有Excel文件
all_files = os.listdir(path)
excel_files = [f for f in all_files if f.endswith('.xlsx')]
# 创建一个空的DataFrame
df = pd.DataFrame()
# 循环遍历所有文件,并将它们合并到DataFrame中
for filename in excel_files:
# 读取Excel文件中的所有表
xl = pd.ExcelFile(os.path.join(path, filename))
for sheet_name in xl.sheet_names:
# 将表中的数据添加到DataFrame中
sheet_data = xl.parse(sheet_name)
sheet_data['File_Name'] = filename # 添加文件名列
sheet_data['Sheet_Name'] = sheet_name # 添加表名列
df = df.append(sheet_data)
# 将所有表写入一个新的Excel文件中
with pd.ExcelWriter("merged.xlsx") as writer:
for sheet_name, sheet_data in df.groupby("Sheet_Name"):
sheet_data.to_excel(writer, sheet_name=sheet_name, index=False)
```
在这个示例代码中,我们首先设置了其他路径,然后使用os模块获取该路径下的所有Excel文件。然后,我们使用pandas的ExcelFile方法读取每个Excel文件中的所有表,并将它们添加到一个空的DataFrame中。注意,在添加表数据到DataFrame时,我们还添加了一个文件名列和表名列,这样可以方便地区分不同文件和表的数据。最后,我们使用ExcelWriter方法将DataFrame中的所有表写入一个新的Excel文件中。
阅读全文