繁体   English   中英

尝试将大 tsv 文件转换为 json

[英]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.to_json

 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM