푸터 콘텐츠로 바로가기
다른 구성 요소와 비교

Pandas Read Excel 대안 (Interop을 사용하지 않고) | IronXL for Python

엑셀 파일은 데이터 분석 및 조작 작업에서 표 형식 데이터를 저장하고 조직하는 데 있어 편리한 방법을 제공합니다. Python에서는 각각 고유의 기능과 역량을 가진 여러 엑셀 파일 읽기 라이브러리가 있습니다. 두 가지 주요 옵션은 Pandas와 IronXL로, 모두 Python에서 Excel 파일을 읽는 효율적인 방법을 제공합니다.

이 기사에서는 Python에서 Excel 파일을 읽기 위해 PandasIronXL의 기능과 성능을 비교할 것입니다.

Pandas - 오픈 소스 라이브러리

Pandas는 Python을 위한 강력한 오픈 소스 데이터 분석 및 조작 라이브러리입니다. DataFrame 데이터 구조를 소개하며, 이는 잠재적으로 서로 다른 유형의 열을 가진 이차원 레이블 데이터 구조입니다. Pandas는 CSV 파일, SQL 데이터베이스 및 Excel 파일과 같은 다양한 소스에서 데이터 읽기 및 쓰기를 포함한 데이터 조작을 위한 광범위한 기능을 제공합니다.

Pandas의 몇 가지 주요 기능은 다음과 같습니다:

데이터프레임

Pandas는 본질적으로 잠재적으로 서로 다른 유형의 열을 가진 이차원 레이블 데이터 구조인 DataFrame 데이터 구조를 소개합니다. 이는 스프레드시트 또는 SQL 테이블과 유사하여 필터링, 그룹화, 집계를 포함한 표형 데이터에 대한 작업을 쉽게 수행할 수 있습니다.

데이터 조작

Pandas는 데이터 병합, 변형, 슬라이스, 인덱싱 및 피벗을 포함한 데이터 조작을 위한 광범위한 기능을 제공합니다. 이러한 작업은 사용자들이 데이터를 분석 또는 시각화를 위해 효율적으로 정리, 변환 및 준비할 수 있도록 합니다.

시계열 기능

Pandas는 날짜/시간 인덱싱 및 리샘플링을 위한 도구와 누락된 데이터 및 시간대 변환 처리를 위한 편리한 메서드를 포함하여 시계열 데이터를 다루기 위한 견고한 지원을 제공합니다.

라이브러리와의 통합

Pandas는 데이터를 분석하고 과학적 계산에 자주 사용되는 다양한 Python 라이브러리와 원활하게 협력할 수 있으며, 여기에는 NumPy, Matplotlib 및 Scikit-learn이 포함됩니다. 이 상호 운용성은 사용자들이 단일 분석 워크플로 내에서 다양한 라이브러리의 강점을 활용할 수 있게 합니다.

전반적으로 Pandas는 Python에서 데이터 조작 및 분석을 위한 강력한 도구이며, 금융, 경제, 생물학 및 사회 과학을 포함한 다양한 분야에서 널리 사용됩니다.

IronXL - Python Excel 라이브러리

IronXL은 Excel 파일을 작업하기 위해 특별히 설계된 Python 라이브러리입니다. 이는 Python에서 Excel 문서를 읽고, 쓰고, 조작하기 위한 직관적인 API를 제공합니다. IronXL은 간단한 인터페이스를 제공하고 Microsoft Excel 또는 Excel Interop과 같은 외부 종속성을 제거하여 Excel 파일 작업을 단순화하는 것을 목표로 합니다.

IronXL의 몇 가지 주요 기능이 아래에 나열되어 있습니다:

직관적인 Python 3+ Excel 문서 API

IronXL은 직관적이고 사용하기 쉬운 Python 3+ Excel 문서 API를 제공하여 개발자가 Excel 스프레드시트 파일을 원활하게 읽고, 편집하고, 생성할 수 있도록 합니다.

크로스 플랫폼 지원

Python 3+에 맞춰 설계되었으며 Windows, Mac, Linux 및 클라우드 플랫폼과 호환되어 배포 환경의 유연성을 보장합니다.

Microsoft Office 또는 Excel Interop 불필요

개발자는 Microsoft Office를 설치하거나 Excel Interop을 다루지 않고 Python에서 Excel 파일을 작업할 수 있으며, 통합 프로세스를 간소화하고 종속성을 최소화합니다.

호환성

Microsoft Windows, macOS, Linux, Docker, Azure 및 AWS를 포함한 다양한 운영 체제에서 Python 3.7+을 지원합니다. JetBrains PyCharm 및 다른 Python IDE와 같은 인기 IDE와 호환됩니다.

다양한 워크북 처리

XLS, XLSX, XSLT, XLSM, CSV, TSV, JSON, HTML, Binary 및 Byte Array를 포함한 다양한 형식으로 스프레드시트를 생성, 로드, 저장 및 내보냅니다.

강력한 워크시트 편집

메타데이터 편집, 권한 및 비밀번호 설정, 워크시트 생성 및 제거, 시트 레이아웃 조작, 이미지 처리 등을 수행합니다.

고급 셀 범위 작업

정렬, 잘라내기, 지우기, 복사, 값 찾기 및 바꾸기, 하이퍼링크 설정, 셀 병합 및 병합 해제를 포함하여 셀 범위에서 다양한 작업을 수행합니다.

유연한 셀 스타일링

글꼴, 크기, 테두리, 정렬 및 배경 패턴을 포함한 셀 스타일을 사용자 정의하고 조건부 형식을 적용합니다.

수학 함수 및 데이터 형식

평균, 합계, 최소 및 최대와 같은 수학 함수를 활용하고 텍스트, 숫자, 공식, 날짜, 통화, 과학적 형식, 시간, 부울 및 사용자 정의 형식을 포함한 셀 데이터 형식을 설정합니다.

PyCharm을 사용하여 Python 프로젝트 생성하기

우선, Python이 머신에 설치되어야 합니다. 공식 Python 웹사이트에서 Python 3.x의 최신 버전을 설치하십시오. Python을 설치할 때 시스템 PATH에 Python을 추가하는 옵션을 선택하여 명령줄에서 액세스할 수 있도록 하십시오.

Pandas와 IronXL의 Excel 파일 읽기 기능을 시연하기 위해 Python에 대한 인기 있는 통합 개발 환경(IDE)인 PyCharm을 사용하여 Python 프로젝트를 만들어 보겠습니다.

  1. PyCharm을 열고 새 Python 프로젝트를 생성합니다.

    팬더스 엑셀 읽기 대안 (Interop 사용하지 않음) |IronXL for Python: 그림 1 - 새 PyCharm 프로젝트 생성

  2. 프로젝트를 다음과 같이 구성하십시오:

    • 프로젝트에 이름을 지정하십시오. 이 경우 "pythonReadExcel"
    • 프로젝트의 원하는 위치를 선택하십시오
    • 인터프리터 유형을 선택하십시오: 프로젝트 venv
    • Python 버전 선택

    팬더스 엑셀 읽기 대안 (Interop 사용하지 않음) | IronXL for Python: 그림 2 - 프로젝트 이름, 인터프리터 유형 및 Python 버전 구성

  3. '만들기'를 클릭하여 프로젝트를 생성합니다.

pip을 사용하여 Pandas 및 IronXL 설치

Pandas 설치

프로젝트에 Pandas를 설치하려면 다음 단계를 따를 수 있습니다:

  1. 명령 프롬프트 또는 터미널 열기: PyCharm에서 View->Tool Windows->Terminal을 통해 실행합니다.

    팬더스 엑셀 읽기 대안 (Interop 사용하지 않음) | IronXL for Python: 그림 3 - 터미널 열기

  2. pip을 통해 Pandas 설치: Pandas는 pip 패키지 관리자를 사용하여 설치할 수 있습니다. 터미널에서 다음 명령어를 실행하세요:

    pip install pandas
    pip install pandas
    SHELL

    이 명령은 Python Package Index (PyPI)에서 Pandas 라이브러리 및 그 의존성을 설치합니다.

    팬더스 엑셀 읽기 대안 (Interop 사용하지 않음) | IronXL for Python: 그림 4 - Pandas 설치 후 콘솔 출력

  3. pip을 통해 OpenPyXL 설치: OpenPyXL은 Excel 파일을 읽고 쓸 수 있게 도와주는 라이브러리입니다. Pandas에서 사용하는 의존성 중 하나입니다. Pandas를 설치하면 OpenPyXL이 자동으로 설치됩니다. 만약 설치되지 않으면, 터미널에서 다음 명령을 사용하여 설치할 수 있습니다:

    pip install openpyxl
    pip install openpyxl
    SHELL

IronXL 설치

Python 프로젝트에 IronXL을 설치하기 위해 다음 단계를 따릅니다:

  1. 필수 조건 확인: IronXL을 설치하기 전에 시스템에 필요한 필수 구성 요소가 설치되어 있는지 확인하세요.

    .NET 6.0 SDK: IronXL은 IronXL .NET 라이브러리, 특히 .NET 6.0을 기반 기술로 사용합니다. .NET 6.0 SDK가 머신에 설치되어 있는지 확인하세요. 공식 .NET 사이트에서 다운로드할 수 있습니다.

  2. 명령 프롬프트 또는 터미널 열기: 이전과 동일하게 실행합니다.
  3. pip을 통해 IronXL 설치: IronXL은 pip 패키지 관리자를 사용하여 설치할 수 있습니다. 다음 명령어를 실행하세요:

    
    :ProductInstall
    W```
    
    This command will collect, download, and install the IronXL library and its dependencies from the Python Package Index (PyPI).
    
    ![팬더스 엑셀 읽기 대안 (Interop 사용하지 않음) | IronXL for Python: Figure 5 - Console output from installing IronXL](/static-assets/excel/blog/pandas-read-excel/pandas-read-excel-5.webp)
    
    :ProductInstall
    W```
    
    This command will collect, download, and install the IronXL library and its dependencies from the Python Package Index (PyPI).
    
    ![팬더스 엑셀 읽기 대안 (Interop 사용하지 않음) | IronXL for Python: Figure 5 - Console output from installing IronXL](/static-assets/excel/blog/pandas-read-excel/pandas-read-excel-5.webp)
    SHELL

Reading Excel Files using Pandas and IronXL

As we have set up everything, we'll move on to reading Excel files using both libraries. The demo Excel file that we are going to read has the following values with header rows as Name, Marks, and Res:

팬더스 엑셀 읽기 대안 (Interop 사용하지 않음) | IronXL for Python: Figure 6 - Sample Excel sheet

Using Pandas

Step 1

Import the Pandas library and use the read_excel() function to read column data from the Excel file.

import pandas as pd

# Read the Excel file
df = pd.read_excel("file.xlsx")
import pandas as pd

# Read the Excel file
df = pd.read_excel("file.xlsx")
PYTHON

Pandas의 read_excel() 함수 사용 시, 필요한 옵션을 몇 가지 지정할 수 있습니다:

  • header: Excel 파일에서 열 이름으로 사용할 행을 지정합니다. None으로 설정하여 헤더 행이 없음을 나타내거나, 행 번호를 나타내는 정수를 제공할 수 있습니다. 생략 시, 기본적으로 헤더 행은 True로 설정되며 첫 번째 행 위치가 헤더 행 레이블로 표시됩니다.
  • index_col: DataFrame의 인덱스로 사용할 열 또는 열들을 지정합니다. 단일 열 이름 또는 열 인덱스를 전달할 수 있으며, MultiIndex를 생성하기 위해 열 이름 목록 또는 열 인덱스 목록을 전달할 수 있습니다.

  • sheet_name: Excel 파일에서 읽을 시트를 지정합니다. 문자열로 시트 이름을 제공하거나, 0부터 시작하는 시트 위치를 나타내는 정수를 제공할 수 있습니다.
  • usecols: Excel 파일에서 읽을 열을 지정합니다. 단일 열 이름 또는 열 인덱스를 전달할 수 있으며, 특정 열을 읽기 위해 열 이름 목록 또는 열 인덱스 목록을 전달할 수 있습니다.
  • dtype: 열의 데이터 유형을 지정합니다. 키가 열 이름 또는 열 인덱스이고 값이 원하는 데이터 유형인 딕셔너리를 전달할 수 있습니다.
  • converters: 사용자 정의 구문 분석을 위해 열에 적용할 함수를 지정합니다. 키가 열 이름 또는 열 인덱스이고 값이 함수인 딕셔너리를 전달할 수 있습니다.

  • na_values: NaN(숫자가 아님) 값으로 인식할 추가 문자열을 지정합니다. NaN으로 처리할 문자열 목록을 전달할 수 있습니다.
  • parse_dates: 날짜로 구문 분석할 열을 지정합니다. 단일 열 이름 또는 열 인덱스를 전달할 수 있으며, 날짜로 구문 분석할 열 이름 목록 또는 열 인덱스 목록을 전달할 수 있습니다.
  • date_parser: 날짜를 구문 분석하는 데 사용할 함수를 지정합니다. 문자열을 수락하고 datetime 객체를 반환하는 함수를 전달할 수 있습니다.
  • skiprows: Excel 파일 시작 부분에서 건너뛸 행 수를 지정합니다.

이 옵션들은 Pandas를 사용하여 Excel 파일을 읽을 때 유연성을 제공하며, 특정 요구 사항에 따라 읽기 프로세스를 사용자 정의할 수 있습니다.

2단계

DataFrame의 내용을 표시합니다.

print(df)
print(df)
PYTHON

위의 코드 출력은 다음과 같습니다:

팬더스 엑셀 읽기 대안 (Interop 사용하지 않음) | IronXL for Python: 그림 7 - Pandas 코드 실행 결과 출력

IronXL사용법

단계 1: IronXL 라이브러리를 가져오고 WorkBook.Load() 메서드를 사용하여 Excel 파일을 로드합니다. Load 메서드 매개변수로 올바른 파일 URL, 로컬 파일 경로 객체, 또는 스크립트와 동일한 디렉터리에 있는 경우 파일명을 전달할 수 있습니다.

from ironxl import WorkBook

# Load the Excel file as a WorkBook object
workbook = WorkBook.Load("file.xlsx")
from ironxl import WorkBook

# Load the Excel file as a WorkBook object
workbook = WorkBook.Load("file.xlsx")
PYTHON

단계 2: IronXL을 사용하여 여러 시트에 접근하고 열 레이블을 인쇄할 수 있습니다. 워크시트 및 셀에 접근하여 열에 저장된 데이터를 읽습니다. 셀은 숫자 열 또는 문자열 열과 같은 다양한 데이터 유형일 수 있습니다. 셀 값을 IntValue 속성을 사용하여 문자열 열을 숫자 값으로 구문 분석하여 int로 변환할 수 있으며 그 반대도 가능합니다.

# Access the first worksheet
worksheet = workbook.DefaultWorkSheet

# Select a specific cell and return the converted value
cell_value = worksheet["A2"].IntValue
print(cell_value)

# Read from the entire worksheet and print each cell's address and value
for cell in worksheet:
    print(f"Cell {cell.AddressString} has value '{cell.Text}'")
# Access the first worksheet
worksheet = workbook.DefaultWorkSheet

# Select a specific cell and return the converted value
cell_value = worksheet["A2"].IntValue
print(cell_value)

# Read from the entire worksheet and print each cell's address and value
for cell in worksheet:
    print(f"Cell {cell.AddressString} has value '{cell.Text}'")
PYTHON

위 코드의 출력은 IronXL의 다양성을 보여주는 적절한 디스플레이 형식입니다:

팬더스 엑셀 읽기 대안 (Interop 사용하지 않음) |IronXL for Python: 그림 8 - IronXL 코드의 콘솔 출력

Excel 파일 작업에 대한 추가 정보를 위해, 이 코드 예제 페이지를 방문하세요.

결론

결론적으로, Pandas와 IronXL 모두 Python에서 Excel 파일을 읽는 효율적인 방법을 제공합니다. 그러나 IronXL은 사용의 용이성, 성능, 전문화된 엑셀 처리 기능 측면에서 Pandas보다 여러 이점을 제공합니다. IronXL의 직관적인 API와 종합적인 기능은 광범위한 엑셀 조작 작업이 필요한 프로젝트에 탁월한 선택이 됩니다.

또한 IronXL은 Microsoft Excel이나 Excel Interop과 같은 외부 종속성을 제거하여 개발 프로세스를 단순화하고 다양한 플랫폼 간의 이식성을 높입니다. 따라서 Python 개발자들이 Excel 파일 작업을 위한 강력하고 효율적인 솔루션을 찾고 있다면, IronXL은 Pandas에 비해 보다 나은 시설과 향상된 기능을 제공하며 선호되는 선택으로 부상합니다. IronXL에 대한 보다 자세한 정보를 원하시면, 이 문서 페이지를 방문하세요.

IronXL은 Python 프로젝트에 적합한 기능과 타당성을 테스트할 수 있는 무료 체험판을 제공합니다. 이 체험판은 개발자들이 IronXL의 모든 기능과 역량을 금전적 의무 없이 탐색할 수 있게 합니다. IronXL을 데이터 입출력 작업, 보고서 생성 또는 데이터 분석에 고려하고 있든 상관없이, 무료 체험판은 특정 요구 사항에 대한 성능과 적합성을 평가할 기회를 제공합니다.

라이선스 옵션에 대한 추가 정보와 무료 체험판 다운로드를 위해, IronXL 웹사이트의 라이선스 페이지를 방문하세요. 여기에서는 상업적 사용과 지원 옵션을 포함한 라이선스 약관에 대한 자세한 정보를 찾을 수 있습니다. IronXL을 시작하고 그 혜택을 직접 체험해 보려면, 여기에서 라이브러리를 다운로드하세요.

참고해 주세요Pandas는 해당 소유자의 등록 상표입니다. 이 사이트는 Pandas와 연관되어 있지 않으며, Pandas의 승인이나 후원을 받지도 않았습니다. 모든 제품명, 로고 및 브랜드는 해당 소유자의 자산입니다. 비교는 정보 제공 목적으로만 사용되며, 작성 시점에 공개적으로 이용 가능한 정보를 반영합니다.

자주 묻는 질문

Interop을 사용하지 않고 Python에서 Excel 파일을 어떻게 읽을 수 있나요?

IronXL이라는 Excel 파일 작업을 위해 설계된 Python 라이브러리를 사용할 수 있습니다. Microsoft Office 또는 Excel Interop이 필요하지 않으며, 매끄러운 Excel 파일 조작을 위한 직관적인 API를 제공합니다.

IronXL이 Pandas보다 Excel 특정 작업에 더 나은 선택이 되는 이유는 무엇인가요?

IronXL은 외부 종속성 없이 Excel 파일 작업을 단순화하는 전문화된 API를 제공합니다. 다양한 Excel 형식, 고급 워크시트 조작 및 셀 작업을 지원하여 특정 Excel 작업에 우수합니다.

IronXL을 사용하여 다양한 운영 체제에서 Excel 파일을 조작할 수 있나요?

네, IronXL은 Python 3.7+와 호환되며 Windows, macOS, Linux, Docker, Azure 및 AWS 등의 플랫폼을 지원하여 크로스 플랫폼 기능을 제공합니다.

Python 프로젝트에 IronXL을 어떻게 설치하나요?

먼저, .NET 6.0 SDK를 설치해야 합니다. 그런 다음 터미널에서 pip install ironxl 명령을 실행하여 pip을 사용해 IronXL을 설치합니다.

IronXL 어떤 Excel 파일 형식을 지원하나요?

IronXL은 XLS, XLSX, XSLT, XLSM, CSV, TSV, JSON, HTML, Binary, Byte Array 등과 같은 다양한 Excel 파일 형식을 지원합니다.

IronXL 무료 체험판이 있나요?

네, IronXL은 개발자가 기능을 테스트할 수 있도록 무료 체험판을 제공합니다. 체험판 및 라이선스 옵션에 대한 자세한 정보는 IronXL 웹사이트에서 찾을 수 있습니다.

IronXL은 Python에서 Excel 파일 읽기 성능을 어떻게 향상시키나요?

IronXL은 Excel 특정 작업에 대해 일반 데이터 분석 라이브러리인 Pandas보다 뛰어난 성능을 제공하며, 효율적으로 Excel 파일을 읽고 조작할 수 있는 최적화된 API를 제공합니다.

Python에서 IronXL을 사용하여 Excel 파일을 어떻게 읽나요?

IronXL의 간단한 메소드를 사용하여 Python에서 Excel 파일을 읽을 수 있습니다. 라이브러리의 기능을 사용하여 필요한 대로 Excel 데이터를 로드하고 조작하십시오.

광범위한 Excel 조작이 포함된 Python 프로젝트에 IronXL을 선택해야 하는 이유는 무엇인가요?

IronXL은 사용 용이성, 성능 및 유연한 셀 스타일링 및 수학 함수와 같은 종합적인 기능으로 인해 광범위한 Excel 조작을 요구하는 프로젝트에 이상적으로 권장됩니다.

Python에서 Excel 파일을 읽기 위한 Pandas의 일부 대안은 무엇인가요?

IronXL은 Python에서 Excel 파일을 읽기 위한 Pandas의 강력한 대안으로, Microsoft Office 또는 외부 종속성이 필요하지 않은 Excel 조작에 대한 특정 기능을 제공합니다.

커티스 차우
기술 문서 작성자

커티스 차우는 칼턴 대학교에서 컴퓨터 과학 학사 학위를 취득했으며, Node.js, TypeScript, JavaScript, React를 전문으로 하는 프론트엔드 개발자입니다. 직관적이고 미적으로 뛰어난 사용자 인터페이스를 만드는 데 열정을 가진 그는 최신 프레임워크를 활용하고, 잘 구성되고 시각적으로 매력적인 매뉴얼을 제작하는 것을 즐깁니다.

커티스는 개발 분야 외에도 사물 인터넷(IoT)에 깊은 관심을 가지고 있으며, 하드웨어와 소프트웨어를 통합하는 혁신적인 방법을 연구합니다. 여가 시간에는 게임을 즐기거나 디스코드 봇을 만들면서 기술에 대한 애정과 창의성을 결합합니다.

Iron Support Team

We're online 24 hours, 5 days a week.
Chat
Email
Call Me