[英]Trying to convert a big tsv file to json
我有一个 tsv 文件,我需要将其转换为 json 文件。 我正在使用这个 python 脚本,它正在导出一个空的 json 文件。
import json
data={}
with open('data.json', 'w') as outfile,open("data.tsv","r") as f:
for line in f:
sp=line.split()
data.setdefault("data",[])
json.dump(data, outfile)
这可以通过熊猫来完成,但是不确定性能
df = pd.read_csv('data.tsv',sep='\t') # read your tsv file
df.to_json('data.json') #save it as json . refer orient='values' or 'columns' as per your requirements
您永远不会在代码中使用sp
。
为了正确地转换tsv,您应该分别阅读第一行以获得“列名”,然后阅读以下各行并填充字典列表。
这是您的代码应如下所示:
import json
data=[{}]
with open('data.json', 'w') as outfile, open("data.tsv","r") as f:
firstline = f.readline()
columns = firstline.split()
lines = f.readlines()[1:]
for line in lines:
values = line.split()
entry = dict(zip(columns, values))
data.append(entry)
json.dump(data, outfile)
这将输出一个包含tsv行列表的文件作为对象。
如今,以这种方式解决问题非常简单。
您可以尝试https://toolsofweb.com/tsv-to-json用于 TSV 到 JSON
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.