python 메모
[python] jsonl로 데이터 읽고 쓰기
Fine애플
2023. 11. 28. 14:17
json보다 jsonl이 편할 때는 파일로 데이터를 읽고 쓸 때이다. json은 데이터를 한꺼번에 불러와야 하지만 jsonl은 file 객체로 읽고 쓰기 때문에 a 모드를 지원한다. 즉, jsonl 파일에 데이터 한줄만 추가하는 형태로 사용할 수 있지만 json은 그게 안된다.
1. 데이터 쓰기
주의사항은 indent=4을 주게되면 저장된 파일에 newline이 생겨 읽을 때 에러가 뜬다. 이거 빼준다.
import json
d = {
"a":[1,2,3],
"b":[4,5,6,7],
"C": "qwer",
"D": "한글"
}
data_list = [d]*4
with open("test.jsonl", "a") as f:
for data in data_list:
f.write( json.dumps(data, ensure_ascii=False) + "\n" )
2. 데이터 읽기
data_list = []
with open("test.jsonl", "r") as f:
for line in f:
data_list.append( json.loads(line) )
data_list
>>>>
[{'a': [1, 2, 3], 'b': [4, 5, 6, 7], 'C': 'qwer', 'D': '한글'},
{'a': [1, 2, 3], 'b': [4, 5, 6, 7], 'C': 'qwer', 'D': '한글'},
{'a': [1, 2, 3], 'b': [4, 5, 6, 7], 'C': 'qwer', 'D': '한글'},
{'a': [1, 2, 3], 'b': [4, 5, 6, 7], 'C': 'qwer', 'D': '한글'}]
728x90