Vincent.N
Vincent.N

Reputation: 141

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

Upvotes: 2

Views: 2637

Answers (2)

Christoph Burschka
Christoph Burschka

Reputation: 4689

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.

Upvotes: 4

mikaël
mikaël

Reputation: 463

if you are using pandas you can use the to_json method with the option orient="records"to obtain the list of entries you want.

my_data_frame.to_json(orient="records")

Upvotes: 1

Related Questions