(Python 3.5) 我想将大型用户review.json文件(1.3gb)解析为python并转换为.csv文件。我曾尝试在网上寻找一个简单的转换器工具,其中大部分接受最大1Mb的文件大小或超级昂贵。 因为我相当新的python我想我问2个问题。如何使用python将大型Json文件转换为csv
它是甚至可能/有效的,或者我应该寻找另一种方法?
我试过下面的代码,它只是读取并写入我的.json文档中的顶部342行,然后返回一个错误。
Blockquote File "C:\Anaconda3\lib\json__init__.py", line 319, in loads return _default_decoder.decode(s)
文件 “C:\ Anaconda3 \ lib中\ JSON \ decoder.py”,线路342,在解码 提高JSONDecodeError( “额外数据”,S,结束) JSONDecodeError:额外数据
这是使用代码IM
import csv
import json
infile = open("myfile.json","r")
outfile = open ("myfile.csv","w")
writer = csv.writer(outfile)
for row in json.loads(infile.read()):
writer.writerow(row)
我以.json例如:
链接到的Json
我的想法小部分是它的某种类型相关的错误我的for循环,与json.loads ...但我不知道有足够的了解它。是否可以创建一个字典{}并仅转换值“user_id”,“stars”,“text”?或者我在做梦。
任何建议或批评表示赞赏。
非常感谢Daniel的回复。但是,创建的.csv文件的结果只包含Keys not values。(user_id,stars,type,review_id,business_id,votes,date,text)有一种方法可以将值添加到键{key:value} ...?我应该尝试使用字典吗?因为我只需要“user_id”,“stars”,“text”的值 –
CSV不是键值结构。您需要挑选出您需要的各种数据;例如'data_to_write = [data [“votes”] [“funny”],data [“user_id”],data [“text”]]等等。 –
感谢您的支持+1 –