파이썬으로 json, csv 파일 변환

파이썬으로 데이터를 다루다 보면 json, csv 형식의 파일을 많이 만나게 된다. 데이터의 형식만 가볍게 변환하기 위해 파이썬 코드를 짜놓았는데, 잊지 않으려고 남겨 본다.

json을 csv로 변환하기

import csv
import json

input_file_name = "data.txt"
output_file_name = "data.csv"

with open(input_file_name, "r", encoding="utf-8", newline="") as input_file, \
        open(output_file_name, "w", encoding="utf-8", newline="") as output_file:

    data = []
    for line in input_file:
        datum = ujson.loads(line)
        data.append(datum)
        
    csvwriter = csv.writer(output_file)
    csvwriter.writerow(data[0].keys())
    for line in data:
        csvwriter.writerow(line.values())

csv를 json으로 변환하기

import csv
import json

input_file_name = "data.csv"
output_file_name = "data.txt"

with open(input_file_name, "r", encoding="utf-8", newline="") as input_file, \
        open(output_file_name, "w", encoding="utf-8", newline="") as output_file:
        
    reader = csv.reader(input_file)

    # 첫 줄은 col_names 리스트로 읽어 놓고
    col_names = next(reader)

    # 그 다음 줄부터 zip으로 묶어서 json으로 dumps
    for cols in reader:
        doc = {col_name: col for col_name, col in zip(col_names, cols)}
        print(json.dumps(doc, ensure_ascii=False), file=output_file)

나도 파이썬 잘하고 싶다.

지금 인기 글


댓글 남기기