我正在通过搜索其他文件中的列值来比较两个excel文件,如果该列值不存在于其他文件中,它将把整行写入文本文件。
我的excel文件很大,它们包含大约290万行
这是我尝试过的
import sys
import pandas as pd
orig_stdout = sys.stdout
f = open('out.txt', 'w')
sys.stdout = f`
df0 = pd.ExcelFile('1.xlsx').parse('Sheet1')
df1 = pd.ExcelFile('v2.xlsx').parse('Sheet1')
print (df0[~df0['initial_id'].isin(df1['initial_id'])])
sys.stdout = orig_stdout
f.close()
print('Done.')'
比较initial_id列下的一个值,如果第二个excel文件中不存在该值,则打印从第一个文件到输出文件的整个行
实际结果
21 EXCLAMATION MARK A1 INVERTED EXCLAMATION MARK
22 QUOTATION MARK A2 CENT SIGN
23 NUMBER SIGN A3 POUND SIGN
24 DOLLAR SIGN A4 CURRENCY SIGN
25 PERCENT SIGN A5 YEN SIGN
26 AMPERSAND A6 BROKEN BAR
27 APOSTROPHE A7 SECTION SIGN
... ... ... ...
3159 DIGIT NINE B9 SUPERSCRIPT ONE
3160 COLON BA MASCULINE ORDINAL INDICATOR
3161 SEMICOLON BB RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
3162 LESS-THAN SIGN BC VULGAR FRACTION ONE QUARTER
3163 EQUALS SIGN BD VULGAR FRACTION ONE HALF
预期结果
也应将27行之后的遗漏行写入文件中。如果要消耗RAM来存储,零件文件也将起作用