python读取两个excel,通过某列中的信息进行匹配,没有匹配到的元素的其他列所有信息存入到一个excel中
时间: 2024-03-05 17:54:37 浏览: 60
源码用python将一个Excel表里多个sheet相同的列进行提取并汇总
好的,可以使用以下代码将没有匹配到的元素的其他列所有信息存储到一个 Excel 文件中:
```python
import pandas as pd
# 读取第一个 Excel 文件
df1 = pd.read_excel('excel1.xlsx')
# 读取第二个 Excel 文件
df2 = pd.read_excel('excel2.xlsx')
# 通过一个列进行匹配
merged = pd.merge(df1, df2, on='匹配列名', how='left')
# 提取没有匹配到的信息
unmatched = merged[merged['索引列名'].isna()]
# 提取没有匹配到的元素的其他列所有信息
unmatched_info = unmatched.drop(columns=['索引列名', '匹配列名'])
# 存储到一个 Excel 文件中
with pd.ExcelWriter('unmatched.xlsx') as writer:
unmatched_info.to_excel(writer, sheet_name='Sheet1', index=False)
```
在代码中,需要将 `'excel1.xlsx'` 和 `'excel2.xlsx'` 替换成你实际使用的 Excel 文件名,将 `'匹配列名'` 替换成你想要匹配的列的列名,将 `'索引列名'` 替换成你想要使用的列的列名。同时,需要将 `'unmatched.xlsx'` 替换成你想要存储没有匹配到的元素的其他列所有信息的 Excel 文件名。
这里使用了 `drop` 方法来删除 unmatched 中的 `'索引列名'` 和 `'匹配列名'` 列,得到了没有匹配到的元素的其他列所有信息。然后使用 `with` 语句来创建一个 ExcelWriter 对象,并将 unmatched_info 数据写入到一个名为 `'Sheet1'` 的工作表中。这里的 `index=False` 参数表示不将行索引写入到 Excel 文件中。
阅读全文