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"]
])
댓글남기기