读取两个csv文件,选择两个表格中列名均为doc_id的两列,逐行匹配两列数据相同的所有行写入新csv文件中
时间: 2024-05-01 15:17:56 浏览: 14
好的,对于您的问题,我可以提供以下Python代码段来实现您的需求:
```python
import pandas as pd
# 读取第一个CSV文件
df1 = pd.read_csv('file1.csv')
# 读取第二个CSV文件
df2 = pd.read_csv('file2.csv')
# 选择两个表格中列名均为doc_id的两列
df1_doc_id = df1['doc_id']
df2_doc_id = df2['doc_id']
# 逐行匹配两列数据相同的所有行
matched_rows = []
for i in range(len(df1_doc_id)):
if df1_doc_id[i] in df2_doc_id.values:
for j in range(len(df2_doc_id)):
if df2_doc_id[j] == df1_doc_id[i]:
matched_rows.append([df1.iloc[i], df2.iloc[j]])
# 将匹配的行写入新CSV文件中
matched_df = pd.DataFrame(matched_rows, columns=['file1_matched_row', 'file2_matched_row'])
matched_df.to_csv('matched.csv', index=False)
```
上述代码中,我们使用Pandas库读取了两个CSV文件,并选择了两个表格中列名均为doc_id的两列。然后,我们逐行遍历第一个文件中的doc_id列,如果当前行所对应的doc_id在第二个文件的doc_id列中出现,则将这两行数据加入到匹配行的列表中。最后,我们使用Pandas库将匹配的行写入新的CSV文件中。
希望这个代码段可以帮助您解决问题!