用Python写大文件有问题

时间:2016-04-10 10:01:48

标签: python

我正在处理ConceptNet Json文件,并试图提取文件中实体之间的关系。该文件非常大,例如,part_00.json1.4Gb,我编写了一个Python程序来处理大文件,并尝试将处理后的数据保存到新的输出文件中。源代码如下:

import json

inputData = "d:\\part_00.jsons"
outputData = "d:\\output.jsons"
fin = open(inputData, 'r')  
fout = open(outputData, 'w')

outputfile =[]
for eachLine in fin:  
    line = eachLine.strip()
    line = line.strip(',')                                   
    js = None  
    try:  
        js = json.loads(line)  
        outputfile.append(js["uri"])   
    except Exception,e:  
        print 'bad line'  
        continue

for line in outputfile:
    if line.startswith("/a"):
        a = line[4:-1]
        r, c1, c2 = a.split(",")
        if c1.split("/")[2] == "en" and c2.split("/")[2] == "en":
            fout.write((" ".join((r, c1.split("/")[3], c2.split("/")[3]))).encode('utf8'))
            fout.write("\n")    

fout.close()  

然而,当我运行该程序时,我收到错误:

Traceback (most recent call last):
  File "D:\workspace\CSK\src\readJson.py", line 48, in <module>
    r, c1, c2 = a.split(",")
ValueError: too many values to unpack

然后我检查了输出文件output.jsons,发现它只有57mb大小且不完整。

我不知道问题的原因是什么。是因为文件的大小?或者有一些缓存错误?我希望得到你的答案。

0 个答案:

没有答案