如何使用python将JSON数据转换为.tsv文件。

时间:2018-11-15 01:19:31

标签: json python-3.x csv

我的json数据如下:

data ={
    "time": "2018-10-02T10:19:48+00:00",
    "class": "NOTIFICATION",
    "type": "Access Control",
    "event": "Window/Door",
    "number": -61
}

所需的输出必须是这样的:

time   class  type   event   number 
2018-10-02T10:19:48+00:00  NOTIFICATION  Access Control  Window/Door -61

有人可以帮我吗,谢谢

1 个答案:

答案 0 :(得分:2)

我认为这与将JSON转换为csv相同,但是可以使用 tab 作为分隔符,而不是使用逗号,如下所示:

import json
import csv

# input data
json_file = open("data.json", "r")
json_data = json.load(json_file)
json_file.close()

data = json.loads(json_data)

tsv_file = open("data.tsv", "w")
tsv_writer = csv.writer(tsv_file, delimiter='\t')

tsv_writer.writerow(data[0].keys()) # write the header

for row in data: # write data rows
    tsv_writer.writerow(row.values())

tsv_file.close()

如果您的json文件具有多个数据行,则上面的代码将起作用。如果只有一行数据,则下面的代码将为您工作:

tsv_writer.writerow(data.keys()) # write the header
tsv_writer.writerow(data.values()) # write the values

希望这会有所帮助。