Python FOSS에서 CSV를 JSON으로 변환하는 방법

Python FOSS에서 CSV를 JSON으로 변환하는 방법

문제

Aspose.Cells FOSS를 사용하여 Python에서 CSV 파일을 JSON으로 변환합니다. load_csv_workbook()를 사용하여 CSV를 로드하고, iter_rows()를 사용하여 각 행을 읽어 Python 사전 목록을 구축한 다음, 표준 json 모듈을 사용하여 JSON으로 직렬화합니다.

전제 조건

Python에서 Aspose.Cells FOSS를 사용하여 CSV를 JSON으로 변환하려면, 환경이 다음 요구 사항을 충족하는지 확인하십시오.

  • Python 3.7 이상이 설치됨
  • pip install aspose-cells-foss>=26.3.1을 통해 Aspose.Cells FOSS 설치
  • from aspose.cells_foss import load_csv_workbook을 사용하여 라이브러리 임포트
  • Python 파일 처리 및 표준 json 모듈에 대한 기본 지식

변환 단계

1단계: CSV 파일 로드

load_csv_workbook() 편리 함수를 사용하여 CSV 파일을 새 워크북에 로드합니다. 이렇게 하면 스프레드시트 데이터의 메모리 내 표현이 초기화됩니다.

from aspose.cells_foss import load_csv_workbook

workbook = load_csv_workbook("data.csv")
worksheet = workbook.worksheets[0]

2단계: 헤더 및 행 읽기

iter_rows(values_only=True)을 사용하여 모든 행을 셀 값의 튜플로 추출합니다. 첫 번째 행은 헤더 행으로 처리됩니다.

all_rows = list(worksheet.cells.iter_rows(values_only=True))

# Read the header row (first row)
headers = [str(v) if v is not None else f"col{i}" for i, v in enumerate(all_rows[0])]

3단계: 딕셔너리 목록을 만들고 JSON으로 직렬화

남은 행들을 반복하면서, 헤더 이름을 키로 하는 행당 딕셔너리를 만들고, 그런 다음 json.dump()를 사용하여 JSON 파일을 작성합니다.

import json

rows = [dict(zip(headers, row)) for row in all_rows[1:]]

with open("output.json", "w", encoding="utf-8") as f:
    json.dump(rows, f, indent=2, default=str)

print(f"Converted {len(rows)} rows to output.json")

코드 예제

세 단계 모두를 결합한 전체 엔드‑투‑엔드 예제:

import json
from aspose.cells_foss import load_csv_workbook

# Step 1: Load CSV
workbook = load_csv_workbook("data.csv")
worksheet = workbook.worksheets[0]

# Step 2: Extract all rows; first row is headers
all_rows = list(worksheet.cells.iter_rows(values_only=True))
if not all_rows:
    print("No data found in CSV")
else:
    headers = [str(v) if v is not None else f"col{i}" for i, v in enumerate(all_rows[0])]

    # Step 3: Build list of dicts from remaining rows
    rows = [dict(zip(headers, row)) for row in all_rows[1:]]

    # Step 4: Write JSON
    with open("output.json", "w", encoding="utf-8") as f:
        json.dump(rows, f, indent=2, default=str)

    print(f"Converted {len(rows)} rows to output.json")

지원되는 형식

Aspose.Cells FOSS는 CSV 파일 로드를 지원하고 위에 표시된 방법을 통해 JSON으로 내보내기를 지원합니다. 이 라이브러리는 다른 형식으로 직접 저장하는 것도 지원합니다.

형식확장자비고
CSV (입력).csvload_csv_workbook("file.csv") 로 로드
JSON (출력).json셀을 반복한 후 Python json.dump() 로 구축
XLSX (입력/출력).xlsx표준 Excel Open XML 형식
Markdown (출력).mdwb.save_as_markdown("file.md") 사용

참조

 한국어