python取出一个文件夹下所有excel文件中sheet_name=“结论认同表”的内容,并合并到一个新excel中进行输出
时间: 2024-03-25 10:41:39 浏览: 98
使用python将多个excel文件合并到同一个文件的方法
5星 · 资源好评率100%
可以使用Python中的pandas和os模块来实现这个功能。具体的步骤如下:
1. 导入需要的模块:
```python
import pandas as pd
import os
```
2. 设置需要读取的文件夹路径、目标sheet_name和输出文件名:
```python
folder_path = 'your/folder/path' # 文件夹路径
target_sheet_name = '结论认同表' # 目标sheet名称
output_file_name = 'output.xlsx' # 输出文件名
```
3. 定义一个函数,用于读取一个excel文件中的目标sheet内容:
```python
def read_excel_file(file_path):
# 读取excel文件
xl = pd.ExcelFile(file_path)
# 获取所有sheet名称
sheet_names = xl.sheet_names
# 判断目标sheet是否在sheet名称列表中
if target_sheet_name in sheet_names:
# 读取目标sheet内容
df = pd.read_excel(file_path, sheet_name=target_sheet_name)
return df
else:
return None
```
4. 遍历文件夹中的所有excel文件,并读取其中的目标sheet内容:
```python
dfs = [] # 存储读取到的目标sheet内容
for file_name in os.listdir(folder_path):
# 判断文件是否是excel文件
if file_name.endswith('.xlsx') or file_name.endswith('.xls'):
file_path = os.path.join(folder_path, file_name)
df = read_excel_file(file_path)
if df is not None:
dfs.append(df)
```
5. 将所有读取到的目标sheet内容合并到一个新的DataFrame中,并输出到新的excel文件中:
```python
# 合并所有数据
merged_df = pd.concat(dfs)
# 输出到新的excel文件中
merged_df.to_excel(output_file_name, index=False)
```
完整代码如下:
```python
import pandas as pd
import os
folder_path = 'your/folder/path' # 文件夹路径
target_sheet_name = '结论认同表' # 目标sheet名称
output_file_name = 'output.xlsx' # 输出文件名
def read_excel_file(file_path):
# 读取excel文件
xl = pd.ExcelFile(file_path)
# 获取所有sheet名称
sheet_names = xl.sheet_names
# 判断目标sheet是否在sheet名称列表中
if target_sheet_name in sheet_names:
# 读取目标sheet内容
df = pd.read_excel(file_path, sheet_name=target_sheet_name)
return df
else:
return None
dfs = [] # 存储读取到的目标sheet内容
for file_name in os.listdir(folder_path):
# 判断文件是否是excel文件
if file_name.endswith('.xlsx') or file_name.endswith('.xls'):
file_path = os.path.join(folder_path, file_name)
df = read_excel_file(file_path)
if df is not None:
dfs.append(df)
# 合并所有数据
merged_df = pd.concat(dfs)
# 输出到新的excel文件中
merged_df.to_excel(output_file_name, index=False)
```
注意事项:
1. 确保所有excel文件中都存在目标sheet_name,否则会出现合并后的DataFrame中缺少一些列的情况;
2. 确保所有excel文件中的目标sheet格式相同,否则可能会出现合并后的DataFrame中格式不一致的情况。
阅读全文