[json] json, jsonl 차이

JAsmine_log·2025년 2월 10일

json

  • data
[
{"id": "my_data_id",
  "category": "my_data_category", 
  "data_type": "my_data_type", 
  "data_name": "my_data_name", 
  "label"="my_data_label"}
  ]
  • read
import json

def load_data(file_path):

    with open(file_path, "r", encoding="utf-8") as f:
        file = json.load(f)
        for data in file:
            print(data)
    return data

file_path = "data/file_name.json"
data = load_data(file_path)
print(data)
  • write
import json

data = [{"id": "my_data_id",
  "category": "my_data_category", 
  "data_type": "my_data_type", 
  "data_name": "my_data_name", 
  "size": "my_data_size", 
  "release_date": "my_data_release_date"
  "label"="my_data_label"}
  ]
  
# w : write mode, a : add mode 
with open("my_data.json", "w", encoding="utf-8") as f: 
    json.dump(my_data, f) 

jsonl

  • data
[{"id": "my_data_1", "category": "my_data_category", "data_type":"my_data_type", "data_name": "my_data_name", "size": "my_data_size", "release_date": "my_data_release_date", "label"="1st line"}
{"id": "my_data_2", "category": "my_data_category", "data_type":"my_data_type", "data_name": "my_data_name", "size": "my_data_size", "release_date": "my_data_release_date", "label"="2nd line"}
{"id": "my_data_3", "category": "my_data_category", "data_type":"my_data_type", "data_name": "my_data_name", "size": "my_data_size", "release_date": "my_data_release_date", "label"="3rd line"}]
  • read
import jsonlines

def load_lines(file_path):
    with jsonlines.open(file_path) as f:
        for line in f:
			print(line["id"])            
            print(line["label"])

file_path = "data/file_name.jsonl"
load_lines(file_path)
  • write
import json
from collections import OrderedDict

data=[
{"id": "my_data_id",
  "category": "my_data_category", 
  "data_type": "my_data_type", 
  "data_name": "my_data_name", 
  "label"="my_data_label"}
  ]

json_line = OrderedDict()
json_line["id"] = "my_data_id"
json_line["label"] = "my_data_label"

with open("file_name.jsonl", "w", encoding="utf-8") as f:
    json.dump(my_data, f, ensure_ascii=False)
    f.write("\n") #

Reference

[1] https://jsonlines.readthedocs.io/en/latest/

profile
Everyday Research & Development

0개의 댓글