简体   繁体   中英

How to convert from TSV file to JSON file?

So I know this question might be duplicated but I just want to know and understand how can you convert from TSV file to JSON? I've tried searching everywhere and I can't find a clue or understand the code.

So this is not the Python code, but it's the TSV file that I want to convert to JSON:

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

And this is the JSON file that I want as an output.

[{
        "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"
    }
]

The built-in modules you need for this are csv and json .

To read tab-separated data with the CSV module, use the delimiter="\\t" parameter:

Even more conveniently, the CSV module has a DictReader that automatically reads the first row as column keys, and returns the remaining rows as dictionaries:

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

The JSON module can also write directly to a file instead of a string.

如果您使用的是pandas您可以使用带有选项orient="records"to_json方法来获取您想要的条目列表。

my_data_frame.to_json(orient="records")

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM