【问题标题】:how to convert JSON data to .tsv file using python.如何使用 python 将 JSON 数据转换为 .tsv 文件。
【发布时间】:2019-04-18 01:31:39
【问题描述】:

我的 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

谁能帮帮我,在此先感谢

【问题讨论】:

  • 您的数据是否已经存储为字典或字符串?
  • @TeeKea 是的,它的字符串
  • 如果您是从文件或字符串中读取 json 数据,那么我在下面的回答应该会对您有所帮助。
  • 你能检查我更新的答案(底部的代码)吗?
  • 如果对您有用,请将答案标记为已接受。如果没有,请告诉我们您当前的问题。谢谢。

标签: json python-3.x csv


【解决方案1】:

我觉得和将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

希望这会有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-05-27
    • 2021-05-13
    • 2014-12-29
    • 1970-01-01
    • 2021-05-18
    • 1970-01-01
    • 2016-06-06
    • 2017-08-20
    相关资源
    最近更新 更多