【发布时间】:2021-03-07 14:55:05
【问题描述】:
我正在尝试使用块连接两个超大 (>800GiB) 文件并对其进行操作。
文件看起来像:
文件1
1 1 0.5
1 2 0.2
2 2 0.4
2 3 0.2...
文件2
1 1 0.6
1 2 0.3
2 2 0.6
2 3 0.7...
我想要的结果是文件:
1 2 0.2 0.3
2 3 0.2 0.7...
我尝试了不同的块代码,但找不到以下选项:从两者中读取 5000 条记录,继续,保存到文件,然后从两者中开始下一个 5000 条。
大约。代码:
mode="w"
file1=pd.read_csv('test1.csv', delim_whitespace=True,header=None,chunksize=5000)
file2=pd.read_csv('test2.csv', delim_whitespace=True,header=None,chunksize=5000)
for chunk in file1:
for chunk1 in file2:
un_file1=chunk[chunk[0]!=chunk[1]]
un_file2=chunk1[chunk1[0]!=chunk1[1]]
conc=pd.concat([un_file2,un_file2[2]],axis=1)
conc.to_csv(r'test_test.csv', header=False,index=False, sep=" ",mode=mode)
mode="a"
所以在当前代码中,文件 2 中的所有块连接到文件 1 的第一个块 =(
【问题讨论】: