[英]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.