Python에서 스프레드시트를 로드하는 방법
이 가이드는 Workbook을 사용하여 Python에서 XLSX 및 CSV 스프레드시트 파일을 로드하는 방법, get_worksheet()으로 워크시트에 접근하는 방법, 그리고 Worksheet.cells 그리드를 통해 셀 값을 읽는 방법을 보여줍니다. 이 라이브러리는 Microsoft Office나 네이티브 확장 없이 순수 Python 환경에서 실행됩니다.
단계별 가이드
1단계: 패키지 설치
아래 pip 명령을 사용하여 PyPI에서 Aspose.Cells FOSS 패키지를 설치합니다:
pip install aspose-cells-foss설치를 확인하려면 Workbook를 임포트하고 확인 메시지를 출력하십시오:
from aspose.cells_foss import Workbook
print("aspose-cells-foss is ready.")2단계: 필요한 클래스 가져오기
Workbook 클래스를 aspose.cells_foss에서 가져와 스프레드시트 로딩 API에 접근합니다:
from aspose.cells_foss import Workbook3단계: 파일에서 워크북 로드
파일 경로 문자열을 Workbook()에 전달하여 기존 스프레드시트를 로드합니다. 생성자는 보호된 파일을 위한 선택적 password 인수를 허용합니다:
from aspose.cells_foss import Workbook
wb = Workbook("report.xlsx")
print("Loaded:", wb.file_path)4단계: 워크시트에 접근
get_worksheet()를 정수 인덱스(0부터 시작) 또는 시트 이름 문자열과 함께 사용합니다. 워크북에 포함된 시트 수를 확인하려면 worksheets 속성을 사용하세요:
from aspose.cells_foss import Workbook
wb = Workbook("report.xlsx")
# By index
ws = wb.get_worksheet(0)
# By name
ws_named = wb.get_worksheet("Summary")
print(f"Worksheets: {len(wb.worksheets)}")
print(f"First sheet: {ws.name}")5단계: 셀 값 읽기
Worksheet.cells 속성을 통해 셀에 접근합니다. Cells.cell(row, col)을 사용하여 제로 기반 행 및 열 좌표로 Cell를 가져옵니다. Cell.value 속성으로 데이터를 읽습니다. 빈 셀을 안전하게 건너뛰려면 Cell.is_empty()를 사용하세요:
from aspose.cells_foss import Workbook
wb = Workbook("report.xlsx")
ws = wb.get_worksheet(0)
cells = ws.cells
# Read individual cells
product = cells.cell(0, 0).value # row 0, col 0 (A1)
revenue = cells.cell(0, 1).value # row 0, col 1 (B1)
print(f"Product: {product}")
print(f"Revenue: {revenue}")
# Safe read with empty check
cell = cells.cell(1, 0)
if not cell.is_empty():
print(f"A2: {cell.value}")단계 6: 모든 행 반복
차원(크기)을 알지 못한 상태에서 모든 행을 순회하려면 Cells.iter_rows()을(를) 사용하십시오. values_only=True을(를) 전달하면 Cell 객체 대신 일반 Python 값을 받을 수 있습니다:
from aspose.cells_foss import Workbook
wb = Workbook("report.xlsx")
ws = wb.get_worksheet(0)
for row in ws.cells.iter_rows(0, None, 0, None, values_only=True):
print(row)일반적인 문제 및 해결 방법
FileNotFoundError 로드할 때 경로가 올바르고 파일이 존재하는지 확인하십시오. 사용 pathlib.Path 이식 가능한 경로에 대해: Workbook(str(Path("data") / "report.xlsx")).
Cell.value returns None 셀에 내용이 없거나 범위를 벗어났습니다. 사용 Cell.is_empty() 읽기 전에 확인하려면 value. 범위를 벗어난 좌표는 오류를 발생시키지 않으며 — 빈 셀을 반환합니다.
비밀번호로 보호된 파일이 오류를 발생시킵니다 비밀번호를 두 번째 인수로 전달하십시오: Workbook("protected.xlsx", "secret").
CSV를 읽을 때 첫 번째 시트만 로드됩니다. CSV 파일은 단일 시트를 포함합니다. 사용하세요 Workbook.load_csv(file_path) 기존의 Workbook 인스턴스에서 CSV 데이터를 특정 시트 위치에 가져와야 하고 전체를 읽는 것이 아니라면 Workbook() 생성자를 직접 사용하세요.
시트 이름을 찾을 수 없습니다: get_worksheet(name) 시트 이름은 대소문자를 구분합니다. 출력하세요 ws.name 각 인덱스에 대해 wb.worksheets 호출하기 전에 정확한 이름을 확인하십시오 get_worksheet("Name").
자주 묻는 질문
Linux와 macOS에서도 작동합니까?
예. aspose-cells-foss는 순수 Python이며 Windows, macOS, Linux 및 Docker 컨테이너에서 네이티브 확장이나 시스템 종속성 없이 실행됩니다.
어떤 파일 형식을 로드할 수 있나요?
Workbook() 생성자는 XLSX 파일을 지원합니다. CSV 파일은 .csv 경로를 전달하거나 Workbook 인스턴스에서 Workbook.load_csv(file_path) 를 호출하여 로드할 수 있습니다.
데이터가 있는 마지막 행을 어떻게 찾나요?
Cells.iter_rows() 로 반복하고 행의 모든 값이 None 이 될 때 멈추거나, 경계 셀에서 Cell.is_empty() 를 사용하여 데이터가 끝나는 위치를 감지합니다.
워크북의 형식을 미리 알지 않고 열 수 있나요?
파일 경로를 Workbook(file_path)에 전달하십시오. 라이브러리는 파일 확장자와 파일 헤더를 기반으로 형식을 추론합니다. 확장자가 없거나 애매한 경우, 명시적인 저장/로드 형식 옵션을 사용하십시오.
“B3"와 같은 문자 주소로 셀을 읽으려면 어떻게 해야 하나요?
행과 열은 0부터 시작하는 정수를 사용하십시오: B3은 행 2, 열 1입니다. 단일 문자 열에 대해서는 ord(col_letter) - ord("A")을 사용하여 문자 주소를 변환합니다. 예를 들어, B은 ord("B") - ord("A") == 1이며, 따라서 cells.cell(2, 1)은 B3에 매핑됩니다.