JSON 형식의 파일을 csv형식으로 불러오고 싶을 때 사용하는 코드를 짜봤습니다.

프로젝트를 진행하면서 크롤링으로 얻은 JSON 형식의 데이터 txt파일을
csv로 변환시켜 사용할 수 있습니다.

준비한 JSON 예시에서는 SuperLinear 라는 key 안에 딕셔너리가 더 존재하고,
그 딕셔너리에서 pattern 과 isVulnerable 이라는 데이터가 존재하는 형태입니다.

아래 코드는 이러한 구조의 txt에서
pattern과 isVulnerable을 뽑아 csv 형태로 만드는 코드입니다.

import json
import csv

input_file_name = "sample.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 = json.loads(line)
        data.append(datum)

    csvwriter = csv.writer(output_file)
    # 첫번째 row로 컬럼명 집어넣기
    csvwriter.writerow(["pattern","isVulnerable"])
    # 그 아래로 각각 해당하는 item을 찾아 집어넣기 
    for line in data:
        if "superLinear" in line: 
            if "pattern" in line["superLinear"] and "isVulnerable" in line["superLinear"]:
                csvwriter.writerow([line["superLinear"]["pattern"],
                                    line["superLinear"]["isVulnerable"]
                                    ])

태그:

카테고리:

업데이트:

댓글남기기