我有2個CSV需要合併2個很大程度上不平等的文件,文件1是圍繞20gb
等只有~1000
線。因爲大尺寸的餘第一迭代更大文件和要過濾的更大的文件(比如文件1),以更小的文件,然後加載/合併使用大熊貓合併使用熊貓或AWK
File1:
越大文件是如下
col1,col2,col3
1,1,1491795901021327897
1,2,1491795901021342873
1,3,1491795901021347247
1,4,1491795901021351620
1,5,1491795901021356612
1,6,1491795901021361172
1,7,1491795901021366797
較小的文件是如下
col1,col2,col3,col4,col5,col6
val1,val2,val3,1,6,1412414141412414
val1,val2,val3,1,3,1434252352352325
一種方式我所做的就是通過做10*10**10(value at col1) + val at col2
,同樣使用col4,5較小的文件,以創建兩個文件的一個鍵。如果值存在於列表中打印該行,則將這些值保存爲列表,並將其保存爲更大文件中的每行。最後打印一個小的過濾文件。有沒有更好的方法來做到這一點在Python或使用AWK也許。
終極目的是要合併,但由於20GB不能在大熊貓被加載,所以我過濾我的文件,使之更小。我確定必須有更好的方法來解決這個問題。
請您粘貼預期的輸出? –
什麼是合併的公用密鑰,給使用發佈的數據,什麼將成爲合併後的文件結構的例子嗎?你是否通過匹配'4,5'字段到'1,2'來過濾基於小文件的大文件? – karakfa
'您是否通過將第4,5個字段與1,2進行匹配來過濾基於小文件的大文件? '是的確實是 – pythonRcpp