怎么把TSV文件转换成JSON文件?

时间:2019-06-04 08:22:05

标签: python python-3.x file

所以我知道这个问题可能会重复,但是我只想知道并了解如何将TSV文件转换为JSON?我尝试在任何地方搜索,但找不到线索或理解代码。

所以这不是Python代码,而是我要转换为JSON的TSV文件:

title   content difficulty
week01  python syntax   very easy
week02  python data manipulation    easy
week03  python files and requests   intermediate
week04  python class and advanced concepts  hard

这是我想要作为输出的JSON文件。

[{
        "title": "week 01",
        "content": "python syntax",
    "difficulty": "very easy"
    },
    {
        "title": "week 02",
        "content": "python data manipulation",
    "difficulty": "easy"
    },
    {
        "title": "week 03",
        "content": "python files and requests",
    "difficulty": "intermediate"
    },
    {
        "title": "week 04",
        "content": "python class and advanced concepts",
    "difficulty": "hard"
    }
]

2 个答案:

答案 0 :(得分:1)

如果您使用的是pandas,则可以使用带有选项orient="records"的{​​{3}}方法来获取所需的条目列表。

my_data_frame.to_json(orient="records")

答案 1 :(得分:1)

您需要的内置模块是csvjson

要使用CSV模块读取制表符分隔的数据,请使用delimiter="\t"参数:

更方便的是,CSV模块具有DictReader,该DictReader会自动将第一行读取为列键,然后将其余行作为字典返回:

with open('file.txt') as file:
    reader = csv.DictReader(file, delimiter="\t")
    data = list(reader)
    return json.dumps(data)

JSON模块也可以直接写入文件而不是字符串。