逐块读取一个大文件,并将其附加到python字典中

时间:2019-03-08 11:00:42

标签: python dictionary

我有一个大的txt文件,我想逐块读取它,并将输出存储在字典中。 示例文件如下

Id1 Id2
1   3
1   6
1   9
3   1
3   9
6   1
6   3
6   9
9   3
9   6

我已经尝试了以下代码,并且可以正常工作,唯一的问题是对于每次迭代,字典都被覆盖,并且字典中的先前数据丢失了

import pandas as pd
chunksize = 10 ** 6
for chunk in pd.read_csv('file.txt',delimiter='\t',chunksize=chunksize):    
    d={} 
    for i, j in rel.itertuples(index=False):
        if i not in d.keys():
            d[i]=[j]
        elif j not in d[i] : 
            d[i].append(j)

示例输出如下

{1: [3, 6, 9],
 3: [1, 9],
 6: [1, 3, 9],
 9: [3, 6]}

我如何更新字典,以便每次迭代的数据都保留在其中。我们还可以为每次迭代创建一个新的字典或更新现有的字典。有什么线索吗?任何提示。我会感激你的

0 个答案:

没有答案