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 문서