웹사이트 검색

Pandas read_excel() - Python에서 Excel 파일 읽기


pandas 모듈 read_excel() 함수를 사용하여 Excel 파일 데이터를 DataFrame 개체로 읽을 수 있습니다. 엑셀 시트를 보면 2차원 테이블이다. DataFrame 객체는 또한 2차원 표 데이터 구조를 나타냅니다.

1. 판다스 read_excel() 예제

직원 및 자동차라는 두 개의 시트가 포함된 Excel 파일이 있다고 가정해 보겠습니다. 맨 위 행에는 테이블의 헤더가 포함됩니다.

다음은 "Employees\ 시트 데이터를 읽고 인쇄하는 예제입니다.

import pandas

excel_data_df = pandas.read_excel('records.xlsx', sheet_name='Employees')

# print whole sheet data
print(excel_data_df)

산출:

   EmpID    EmpName EmpRole
0      1     Pankaj     CEO
1      2  David Lee  Editor
2      3   Lisa Ray  Author

  • 첫 번째 매개변수는 엑셀 파일의 이름입니다.
  • sheet_name 매개변수는 엑셀 파일에서 읽을 시트를 정의합니다.
  • DataFrame 개체를 인쇄할 때 출력은 2차원 테이블입니다. 엑셀 시트 레코드와 비슷해 보입니다.

2. Excel 시트의 열 헤더 목록

데이터 프레임 개체의 columns 속성을 사용하여 열 헤더 목록을 가져올 수 있습니다.

print(excel_data_df.columns.ravel())

산출:

['EmpID' 'EmpName' 'EmpRole']

3. 칼럼 데이터 출력하기

열 데이터를 가져와 값 목록으로 변환할 수 있습니다.

print(excel_data_df['EmpName'].tolist())

산출:

['Pankaj', 'David Lee', 'Lisa Ray']

4. Pandas read_excel() usecols 예제

Excel 파일에서 읽을 열 이름을 지정할 수 있습니다. Excel 시트의 몇 개의 열에만 관심이 있을 때 유용합니다.

import pandas

excel_data_df = pandas.read_excel('records.xlsx', sheet_name='Cars', usecols=['Car Name', 'Car Price'])
print(excel_data_df)

산출:

         Car Name      Car Price
0      Honda City     20,000 USD
1  Bugatti Chiron  3 Million USD
2     Ferrari 458   2,30,000 USD

5. 헤더 행 없이 엑셀 파일 읽기

Excel 시트에 헤더 행이 없으면 헤더 매개변수 값을 None으로 전달합니다.

excel_data_df = pandas.read_excel('records.xlsx', sheet_name='Numbers', header=None)

헤더 값을 정수로 전달하면 3이라고 가정합니다. 그러면 세 번째 행이 헤더 행으로 처리되고 다음 행부터 값을 읽습니다. 헤더 행 앞의 모든 데이터는 삭제됩니다.

6. Excel 시트를 Dict, CSV 및 JSON으로 변환

DataFrame 개체에는 테이블 형식 데이터를 CSV 또는 JSON 형식으로 변환하는 다양한 유틸리티 메서드가 있습니다.

excel_data_df = pandas.read_excel('records.xlsx', sheet_name='Cars', usecols=['Car Name', 'Car Price'])

print('Excel Sheet to Dict:', excel_data_df.to_dict(orient='record'))
print('Excel Sheet to JSON:', excel_data_df.to_json(orient='records'))
print('Excel Sheet to CSV:\n', excel_data_df.to_csv(index=False))

산출:

Excel Sheet to Dict: [{'Car Name': 'Honda City', 'Car Price': '20,000 USD'}, {'Car Name': 'Bugatti Chiron', 'Car Price': '3 Million USD'}, {'Car Name': 'Ferrari 458', 'Car Price': '2,30,000 USD'}]
Excel Sheet to JSON: [{"Car Name":"Honda City","Car Price":"20,000 USD"},{"Car Name":"Bugatti Chiron","Car Price":"3 Million USD"},{"Car Name":"Ferrari 458","Car Price":"2,30,000 USD"}]
Excel Sheet to CSV:
 Car Name,Car Price
Honda City,"20,000 USD"
Bugatti Chiron,3 Million USD
Ferrari 458,"2,30,000 USD"

7. 참고문헌

  • pandas read_excel() API 문서