如何合并不同excel表格项目
时间: 2024-11-22 19:43:51 浏览: 13
合并不同Excel表格项目通常可以使用pandas库中的`concat`或`merge`函数。以下是两个常见方法:
**方法一:使用`concat`函数**
如果你想要简单地水平拼接(即增加新的行)所有Excel表,你可以这样做:
```python
import pandas as pd
# 读取每个Excel文件
dfs = [pd.read_excel(file) for file in ['file1.xlsx', 'file2.xlsx', 'file3.xlsx']]
# 使用concat将它们沿着列方向连接
merged_df = pd.concat(dfs, ignore_index=True)
# 如果文件名对应的是相同的列名,这里需要设置`keys`参数;若无,则不需要
# merged_df = pd.concat(dfs, keys=['Sheet1', 'Sheet2', 'Sheet3'], ignore_index=True)
```
这会创建一个新的DataFrame,其中所有Excel文件的内容按顺序堆叠在一起。
**方法二:使用`merge`函数**
如果各表格之间有共同的键(如ID),你可以选择沿键合并,这被称为内连接:
```python
import pandas as pd
# 同理读取每个Excel文件
dfs = [pd.read_excel(file) for file in ['file1.xlsx', 'file2.xlsx', 'file3.xlsx']]
# 假设所有表格共享相同的列'transaction_id'
merged_df = dfs[0].merge(dfs[1], on='transaction_id')
for i in range(2, len(dfs)):
merged_df = merged_df.merge(dfs[i], on='transaction_id')
# 清除重复值,除非你想保留所有匹配的记录
merged_df.drop_duplicates(inplace=True)
```
这个方法会基于指定的键合并所有表格,保留每条记录第一次出现的数据。
阅读全文