Python에서 xlrd 라이브러리를 사용하여 Excel 파일을 읽을 때 발생하는 "xlrd.biffh.XLRDError: Excel xlsx file; not supported" 오류 해결
"python", "pandas", "xlrd"와 관련된 "xlrd.biffh.XLRDError: Excel xlsx file; not supported" 오류 해결
Python에서 xlrd
라이브러리를 사용하여 Excel 파일을 읽으려고 할 때 다음과 같은 오류가 발생합니다.
xlrd.biffh.XLRDError: Excel xlsx file; not supported
원인:
xlrd
라이브러리는 기본적으로 .xls 형식의 Excel 파일만 지원합니다. .xlsx 형식의 Excel 파일을 읽으려면 openpyxl
라이브러리를 사용해야 합니다.
해결 방법:
openpyxl
라이브러리 설치:
pip install openpyxl
import openpyxl
wb = openpyxl.load_workbook('your_file.xlsx')
# ...
참고:
xlrd
라이브러리는 .xls 형식의 Excel 파일을 읽는 데 더 빠르고 효율적입니다.openpyxl
라이브러리는 .xlsx 형식의 Excel 파일을 읽는 데 더 많은 기능을 제공합니다.
추가 정보:
다른 가능성:
- 파일 손상: 파일이 손상되었는지 확인하십시오. 다른 프로그램에서 열어 보거나 복구 도구를 사용하십시오.
- 버전 문제: 사용하는
xlrd
라이브러리 버전이 오래되었을 수 있습니다. 최신 버전으로 업데이트하십시오. - 코드 문제: 코드에 오류가 있을 수 있습니다. 코드를 다시 확인하십시오.
예제 코드
# .xls 파일 읽기
import xlrd
wb = xlrd.open_workbook('your_file.xls')
# 첫 번째 시트의 데이터를 읽습니다.
sheet = wb.sheet_by_index(0)
for row in range(sheet.nrows):
for col in range(sheet.ncols):
print(sheet.cell(row, col).value, end='\t')
print()
# .xlsx 파일 읽기
import openpyxl
wb = openpyxl.load_workbook('your_file.xlsx')
# 첫 번째 시트의 데이터를 읽습니다.
sheet = wb.active
for row in sheet.iter_rows():
for cell in row:
print(cell.value, end='\t')
print()
- 이 코드는 기본적인 예시입니다. 필요에 따라 코드를 수정해야 할 수도 있습니다.
your_file.xls
및your_file.xlsx
를 실제 파일 이름으로 바꾸십시오.
대체 방법
xlsxwriter
라이브러리를 사용하여 .xlsx 파일을 .xls 형식으로 변환한 후 xlrd
라이브러리로 읽을 수 있습니다.
pip install xlsxwriter
import xlsxwriter
wb = xlsxwriter.Workbook('your_file.xlsx')
# ...
wb.close()
import xlrd
wb = xlrd.open_workbook('your_file.xls')
# ...
온라인 변환 도구 사용:
온라인 변환 도구를 사용하여 .xlsx 파일을 .xls 형식으로 변환할 수 있습니다.
Google Sheets 사용:
Google Sheets를 사용하여 .xlsx 파일을 업로드하고 .xls 형식으로 다운로드할 수 있습니다.
Microsoft Excel 사용:
Microsoft Excel을 사용하여 .xlsx 파일을 열고 .xls 형식으로 저장할 수 있습니다.
주의:
- 변환 과정에서 데이터 손실이 발생할 수 있습니다.
- 온라인 변환 도구를 사용할 때는 개인 정보 보호에 유의하십시오.
python pandas xlrd