[英]Python compare two different CSV Files which values are not in the same rows
我有 2 个 CSV 文件,看起来像这样:
首先.csv (MasterFile)
Test1 10
Test2 20
第二 csv
Test8 80
Test1 10
在这种情况下,我想创建一个 function 表示第二个中的值(Test8)是否存在。csv 在第一个中不存在。csv 打印为假。
我的代码:
def checkContent():
masterFile= pd.read_csv('./first.csv', error_bad_lines=False)
df1=pd.DataFrame(masterFile, columns=[1])
customerFile=pd.read_csv('.second.csv', error_bad_lines=False)
df2=pd.DataFrame(customerFile, columns=[0])
df1[1] = df2[0]
check=np.where(df1[1]==df2[0], True, False)
print(check)
但它只是比较第一行。 不是其他行。 我知道它必须通过row += 1
或类似的东西来完成
IIUC
你需要一个左连接, indicator = True
check = np.where(pd.merge(df2,df1,on=['A','B'],how='left'
,indicator=True)['_merge'] == 'left_only',
False,
True)
print(check)
array([False, True])
print(pd.merge(df2,df1,on=['A','B'],how='left',indicator=True))
A B _merge
0 Test8 80 left_only
1 Test1 10 both
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.