python 从2个execl表格的指定表指定列内容筛选出不同项,汇总到新的表格
时间: 2024-05-06 22:18:07 浏览: 91
Python将多份excel表格整理成一份表格
你可以使用 Python 的 Pandas 库来完成这个任务。
首先,你需要安装 Pandas 库。你可以使用以下命令进行安装:
```
pip install pandas
```
然后,你需要使用 Pandas 库中的 read_excel() 函数读取两个 Excel 文件中的数据。例如:
```python
import pandas as pd
# 读取第一个 Excel 文件
df1 = pd.read_excel('file1.xlsx', sheet_name='Sheet1', usecols=['Column1', 'Column2'])
# 读取第二个 Excel 文件
df2 = pd.read_excel('file2.xlsx', sheet_name='Sheet1', usecols=['Column1', 'Column2'])
```
在上面的代码中,我们使用了 usecols 参数来指定要读取的列。
接下来,你可以使用 Pandas 库中的 merge() 函数将两个 DataFrame 合并。例如:
```python
# 合并两个 DataFrame
merged_df = pd.merge(df1, df2, on=['Column1'], how='outer', indicator=True)
# 筛选出只在一个 DataFrame 中存在的行
diff_df = merged_df[merged_df['_merge'] != 'both']
```
在上面的代码中,我们使用了 on 参数来指定要合并的列,how 参数指定了合并类型,indicator 参数用于添加一列指示该行存在于哪个 DataFrame 中,然后我们筛选出了只存在于一个 DataFrame 中的行。
最后,你可以使用 Pandas 库中的 to_excel() 函数将结果保存到新的 Excel 文件中。例如:
```python
# 将结果保存到新的 Excel 文件中
diff_df.to_excel('diff.xlsx', index=False)
```
在上面的代码中,我们使用了 index 参数来指定不保存索引列。
完整代码如下:
```python
import pandas as pd
# 读取第一个 Excel 文件
df1 = pd.read_excel('file1.xlsx', sheet_name='Sheet1', usecols=['Column1', 'Column2'])
# 读取第二个 Excel 文件
df2 = pd.read_excel('file2.xlsx', sheet_name='Sheet1', usecols=['Column1', 'Column2'])
# 合并两个 DataFrame
merged_df = pd.merge(df1, df2, on=['Column1'], how='outer', indicator=True)
# 筛选出只在一个 DataFrame 中存在的行
diff_df = merged_df[merged_df['_merge'] != 'both']
# 将结果保存到新的 Excel 文件中
diff_df.to_excel('diff.xlsx', index=False)
```
阅读全文