帮我写一个python的代码,将文件夹里的所有excel表合并在一起
时间: 2023-06-08 16:04:11 浏览: 96
好的,这是一个常见的需求,你可以使用 pandas 库来进行操作。下面是实现合并的示例代码:
```python
import pandas as pd
import os
# 获取文件夹中的所有 Excel 文件路径
folder_path = "./folder_path"
excel_files = [os.path.join(folder_path, f) for f in os.listdir(folder_path) if f.endswith(".xlsx")]
# 读取 Excel 文件并合并
df_list = []
for file in excel_files:
df = pd.read_excel(file)
df_list.append(df)
merged_df = pd.concat(df_list)
# 将合并后的数据保存到一个新的 Excel 文件
merged_df.to_excel("./merged.xlsx", index=False)
```
以上代码将会将 `folder_path` 路径下所有的 `.xlsx` 文件合并到一个新的 `merged.xlsx` 文件中。如果有其他格式的 Excel 文件,需要修改代码中的文件后缀名。
相关问题
使用PYTHON把指定文件夹里面所有的excel合并到一起
您可以使用Python的pandas库来将指定文件夹中的所有Excel文件合并到一个DataFrame中,然后将其保存到一个新的Excel文件中。以下是示例代码:
```
import os
import pandas as pd
# 指定要合并的Excel文件所在的文件夹路径
folder_path = 'path/to/folder'
# 获取文件夹中所有Excel文件的文件名
excel_files = [f for f in os.listdir(folder_path) if f.endswith('.xlsx')]
# 读取所有Excel文件并合并到一个DataFrame中
merged_df = pd.concat([pd.read_excel(os.path.join(folder_path, f)) for f in excel_files])
# 将合并后的DataFrame保存到新的Excel文件中
merged_df.to_excel('merged_excel.xlsx', index=False)
```
请将 `path/to/folder` 替换为您要合并的Excel文件所在的文件夹的实际路径。此代码将只合并扩展名为 `xlsx` 的文件。如果您要合并多个文件类型,只需在列表推导式中添加其他文件类型的条件即可。
帮我写一串代码,关于用python把指定文件夹中的excel表格的sheet,根据相同的Stkcd和Accper,横向合并在一起
好的,以下是代码:
```python
import pandas as pd
import os
# 指定文件夹路径
folder_path = 'your_folder_path'
# 获取指定路径下所有excel文件名
file_names = [f for f in os.listdir(folder_path) if f.endswith('.xlsx')]
# 创建一个空的DataFrame,用于存放所有合并的数据
merged_data = pd.DataFrame()
# 处理每个excel文件
for file_name in file_names:
# 读取当前excel文件的每个sheet
sheets = pd.read_excel(os.path.join(folder_path, file_name), sheet_name=None)
# 处理每个sheet
for sheet_name, sheet_data in sheets.items():
# 按照Stkcd和Accper分组,并横向合并
sheet_data = sheet_data.groupby(['Stkcd', 'Accper']).apply(lambda x: pd.concat([x[col] for col in x.columns if col not in ['Stkcd', 'Accper']], axis=1))
# 如果合并后的数据非空,将其存入merged_data
if not sheet_data.empty:
# 添加文件名和sheet名到合并后的数据中,便于区分不同的数据
sheet_data['FileName'] = file_name
sheet_data['SheetName'] = sheet_name
# 将当前sheet合并到merged_data
merged_data = pd.concat([merged_data, sheet_data])
# 将结果写入一个新的Excel文件中
merged_data.to_excel('merged_data.xlsx', index=False)
```
该代码会处理指定文件夹下的所有Excel文件,并将它们的指定sheet按照Stkcd和Accper分组,并横向合并在一起。最终结果会保存到一个新的Excel文件中。请将 "your_folder_path" 替换为你要处理的 Excel 文件夹的路径。
阅读全文