尝试将大的TSV文件转换为JSON

时间:2019-01-21 07:14:08

标签: python json csv

我有一个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)

2 个答案:

答案 0 :(得分:0)

这可以通过熊猫来完成,但是不确定性能

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 

答案 1 :(得分:0)

您永远不会在代码中使用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行列表的文件作为对象。