Попытка конвертировать большой файл TSV в JSON - PullRequest
0 голосов
/ 21 января 2019

У меня есть файл 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 голосов
/ 21 января 2019

Вы никогда не используете 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 в виде объектов.

0 голосов
/ 21 января 2019

Это может сделать панда, но я не уверен насчет производительности

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 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...