1. JSON
JSON: 파이썬의 딕셔너리 및 리스트 구조를 기본으로 하는 자료구조, 각 형태가 중첩으로 사용될 수 있다.
.json 1차적 활용 예:
import json
import pprint # pretty print
with open('file.json', 'r') as f:
data = json.load(f)
# data 변수에는 중첩된 dict/list 자료가 저장
# data 변수 출력
pp = pprint.PrettyPrinter(indent = 4)
pp.pprint(data['parameters'][0])
2. CSV
CSV(Comma-Seperated Variables): csv 파이썬 내장 모듈과 pandas 모듈로 활용 가능, csv 모듈은 한 줄씩 읽고 처리하여 메모리와 시간 측면에서 유리하다.
.csv 읽기 with csv 모듈:
import csv
with open(file.csv, 'r', newline - '') as f:
# newline 인자는 행을 넘길 때 기본적으로 추가되는 줄 바꿈 문자를 대체한다.
reader = csv.DictReader(f)
# reader 객체의 총 행 수와 헤더 출력
print(reader.line_num, reader.fieldnames)
for row in reader:
print(row)
# 중첩 배열로 일괄 처리보다는 반복문을 활용하는 처리를 권장
.csv 쓰기 with csv 모듈:
# data 변수에 dict 자료형의 자료가 저장됨을 가정
with open('file.csv', 'a', encoding = 'UTF-8', newline = '') as f:
writer = csv.writer(f)
writer.writerow(data.keys().append('비고'))
writer.writerow([13, 23, 41, 25, 26])
writer.writerow(data.values().append('O'))
.csv with pandas 모듈:
import pandas as pd
data = pd.read_csv('data/file.csv')
# csv를 DataFrame으로 반환
'Coding > Python' 카테고리의 다른 글
[Torch] 사전 훈련된 모델 불러오기, 학습 여부 조정 (0) | 2023.01.17 |
---|---|
[Torch/Tensorflow] 활성화 함수 구현과 where() 함수 (0) | 2023.01.17 |
[Tensorflow/Python] LSTM 레이어 사용 시 cuDNN 커널 사용 불가 오류 (0) | 2023.01.02 |