使用pandas比较基于2列的两个不同的CSV文件,并打印第二个CSV文件中不匹配的行,可以按照以下步骤进行:
import pandas as pd
df1 = pd.read_csv('file1.csv')
df2 = pd.read_csv('file2.csv')
merged_df = pd.merge(df1, df2, on=['column1', 'column2'], how='outer', indicator=True)
这里的'column1'和'column2'是要比较的两列名称。
unmatched_rows = merged_df[merged_df['_merge'] == 'right_only']
这里使用了_merge列来标记合并结果,'right_only'表示第二个CSV文件中的行。
print(unmatched_rows)
完整的代码示例:
import pandas as pd
df1 = pd.read_csv('file1.csv')
df2 = pd.read_csv('file2.csv')
merged_df = pd.merge(df1, df2, on=['column1', 'column2'], how='outer', indicator=True)
unmatched_rows = merged_df[merged_df['_merge'] == 'right_only']
print(unmatched_rows)
以上代码会比较两个CSV文件中的指定列,并打印出第二个CSV文件中不匹配的行。请将'file1.csv'和'file2.csv'替换为实际的文件路径。
领取专属 10元无门槛券
手把手带您无忧上云