팬더는 Excel(.xlsx) 파일을 열 수 없습니다.
아래의 내 코드를 참조하십시오.
import pandas
df = pandas.read_excel('cat.xlsx')
실행 후 다음 오류가 나타납니다.
Traceback (most recent call last):
File "d:\OneDrive\桌面\practice.py", line 4, in <module>
df = pandas.read_excel('cat.xlsx')
File "D:\python\lib\site-packages\pandas\util\_decorators.py", line 296, in wrapper
return func(*args, **kwargs)
File "D:\python\lib\site-packages\pandas\io\excel\_base.py", line 304, in read_excel
io = ExcelFile(io, engine=engine)
File "D:\python\lib\site-packages\pandas\io\excel\_base.py", line 867, in __init__
self._reader = self._engines[engine](self._io)
File "D:\python\lib\site-packages\pandas\io\excel\_xlrd.py", line 22, in __init__
super().__init__(filepath_or_buffer)
File "D:\python\lib\site-packages\pandas\io\excel\_base.py", line 353, in __init__
self.book = self.load_workbook(filepath_or_buffer)
File "D:\python\lib\site-packages\pandas\io\excel\_xlrd.py", line 37, in load_workbook
return open_workbook(filepath_or_buffer)
File "D:\python\lib\site-packages\xlrd\__init__.py", line 170, in open_workbook
raise XLRDError(FILE_FORMAT_DESCRIPTIONS[file_format]+'; not supported')
xlrd.biffh.XLRDError: Excel xlsx file; not supported
pip 명령을 사용하여 Pandas를 제거하고 다시 설치해 보았습니다.오류가 계속 발생합니다.xlrd 2.0.1과 Pandas 1.1.5를 설치했습니다.
릴리스 전자 메일에 명시된 대로 릴리스 트윗에서 에 링크되고 설명서의 첫 페이지에 나타나는 큰 주황색 경고로 표시되며, repo의 리드미와 pypi의 릴리스에는 오렌지색이 적지만 여전히 표시됩니다.
xlrd는 xls 파일 이외의 모든 파일에 대한 지원을 명시적으로 제거했습니다.
이는 사용과 관련된 잠재적인 보안 취약성 때문입니다.xlrd
읽기용 버전 1.2 이하.xlsx
파일
귀사의 경우 해결 방법은 다음과 같습니다.
- 최소 1.0.1 이상의 최신 버전의 판다를 사용하고 있는지 확인하고, 가급적이면 최신 버전을 사용하십시오.
- 설치하다
openpyxl
: https://openpyxl.readthedocs.io/en/stable/ - 판다 코드를 다음과 같이 변경합니다.
pandas.read_excel('cat.xlsx', engine='openpyxl')
편집: 현재 판다 >= 1.2는 이 문제를 해결합니다.(릴리스 정보)
최신 버전의 xlrd(2.0.1)는 .xls 파일만 지원합니다.
잠재적인 보안 취약성을 감수하고 특정 파일의 잘못된 구문 분석을 감수할 준비가 되어 있는 경우 이전 버전의 xlrd를 설치하여 이 오류를 해결할 수 있습니다.
셸 또는 cmd 프롬프트에서 아래 명령을 사용합니다.
pip install xlrd==1.2.0
가장 좋은 방법은 이 업데이트로 인해 손상된 오래된 코드가 있을 경우 openpyxl을 read_excel()의 기본 판독기로 만드는 것입니다.
환경의 판다 폴더 안에 있는 _base.py로 이동하여 메서드의 기본값을 변경하여 이 작업을 수행할 수 있습니다.다음과 같이 찾을 수 있습니다.
import pandas as pd
print(pd.__file__)
파일을 열고 찾기
def read_excel(...)
엔진의 기본값이 표시됩니다.'openpyxl'로 변경합니다.
원본 팁/답변: https://stackoverflow.com/a/69577391/7151338
저는 그것을 사용하는 것과 같은 문제를 겪었습니다.ExcelFile
생성자(복수의 워크시트를 포함하는 파일의 경우) 대신read_excel
방법.이 경우 해결책은 다음과 같습니다.
import pandas
xlsx = pandas.ExcelFile('cat.xlsx', engine='openpyxl')
최신 버전의 Panda는 xlsx 파일을 지원합니다.이 오류가 발생했습니다.1.1.4
업그레이드한 후1.3.5
pip install --upgrade pandas
나는 더 이상 가지고 있지 않습니다.XLRDError
이전 버전에서는 xlsx 파일도 지원합니다.
언급URL : https://stackoverflow.com/questions/65250207/pandas-cannot-open-an-excel-xlsx-file
'source' 카테고리의 다른 글
Xcode 오류: "앱 ID를 개발팀에 등록할 수 없습니다." (0) | 2023.05.07 |
---|---|
INER JOIN 상태에서 'OR'를 사용하는 것이 좋지 않은 생각입니까? (0) | 2023.05.07 |
프로그래밍 방식으로 Swift의 이전 View 컨트롤러로 돌아가기 (0) | 2023.05.07 |
pg_dump를 제대로 인증하려면 어떻게 해야 합니까? (0) | 2023.05.07 |
Dapper.NET 및 저장된 proc(여러 결과 세트 포함) (0) | 2023.05.07 |