python读取excel文件中每个工作表,相同列合并至新的文件
时间: 2024-10-08 10:10:15 浏览: 34
源码用python将一个Excel表里多个sheet相同的列进行提取并汇总
在Python中,可以使用pandas库来读取Excel文件中的每个工作表,并将相同列的数据合并到一个新的文件中。下面是一个简单的示例代码,演示了如何实现这个功能:
```python
import pandas as pd
# 读取Excel文件中的所有工作表
files = ['file1.xlsx', 'file2.xlsx', 'file3.xlsx']
sheets = ['Sheet1', 'Sheet2', 'Sheet3']
sheets_dfs = pd.concat([pd.read_excel(file, sheet_name=sheet) for file, sheet in zip(files, sheets)], ignore_index=True)
# 将相同列的数据合并到一个新的文件中
merged_df = pd.DataFrame()
for col in sheets_dfs.columns:
if sheets_dfs[col].duplicated().any():
merged_df[col] = sheets_dfs[col].drop_duplicates()
else:
merged_df[col] = sheets_dfs[col]
# 将合并后的数据保存到新的Excel文件中
merged_file = 'merged_data.xlsx'
merged_df.to_excel(merged_file, index=False)
```
这段代码首先使用pandas的`read_excel`函数读取Excel文件中的所有工作表,并将它们合并到一个DataFrame对象中。然后,它遍历DataFrame中的每一列,如果该列存在重复值,则使用`drop_duplicates`函数将重复值删除,并将结果保存到新的DataFrame对象中。最后,使用`to_excel`函数将合并后的数据保存到新的Excel文件中。
请注意,这段代码假设Excel文件中的所有工作表都包含相同数量的列。如果存在不同数量的列,则需要根据实际情况进行适当的调整。此外,这段代码还假设Excel文件中的所有工作表都具有相同的格式和命名规则。如果存在差异,则需要根据实际情况进行适当的调整。
阅读全文