xlrd.biffh.XLRDError : Excel xlsx 파일; 지원되지 않음 [중복]

Dec 11 2020

pandas.read_excelxlrd 라이브러리를 사용하여 매크로 사용 Excel 워크 시트를 읽으려고합니다 . 로컬에서 잘 실행되고 있지만 PCF에 동일한 내용을 푸시하려고하면이 오류가 발생합니다.

2020-12-11T21:09:53.441+05:30 [APP/PROC/WEB/0] [ERR] df1=pd.read_excel(os.path.join(APP_PATH, os.path.join("Data", "aug_latest.xlsm")),sheet_name=None)

2020-12-11T21:09:53.441+05:30 [APP/PROC/WEB/0] [ERR] return open_workbook(filepath_or_buffer)
2020-12-11T21:09:53.441+05:30 [APP/PROC/WEB/0] [ERR] File "/home/vcap/deps/0/python/lib/python3.8/site-packages/xlrd/__init__.py", line 170, in open_workbook
2020-12-11T21:09:53.441+05:30 [APP/PROC/WEB/0] [ERR] raise XLRDError(FILE_FORMAT_DESCRIPTIONS[file_format]+'; not supported')
2020-12-11T21:09:53.441+05:30 [APP/PROC/WEB/0] [ERR] xlrd.biffh.XLRDError: Excel xlsx file; not supported

이 오류를 어떻게 해결할 수 있습니까?

답변

154 ChrisWithers Dec 12 2020 at 21:49

에서 언급 한 바와 같이 출시 이메일 의에서 연결 해제 트윗 과 큰 오렌지 경고에서 언급 된 그의 첫 페이지에 표시되는 문서 , 그리고 덜 오렌지,하지만 여전히 현재, 저장소에 대한 추가 정보 와 pypi에 출시 :

xlrd는 xls 파일 이외의 다른 항목에 대한 지원을 명시 적으로 제거했습니다.

귀하의 경우 해결책은 다음과 같습니다.

  • Pandas의 최신 버전, 1.0.1 이상, 가능하면 최신 릴리스를 사용하고 있는지 확인하세요. 1.2는 더 명확하게 만들 것입니다.
  • 설치 openpyxl:https://openpyxl.readthedocs.io/en/stable/
  • Pandas 코드를 다음과 같이 변경하십시오.
    df1 = pd.read_excel(
         os.path.join(APP_PATH, "Data", "aug_latest.xlsm"),
         engine='openpyxl',
    )
    
65 tryhard Dec 11 2020 at 23:47

이전 버전 인 xlrd 1.2.0이 작동하는 것처럼 보일 수 있지만 잠재적 인 보안 취약성에 노출 될 수도 있습니다. 경고를 표시하지 않은 상태에서 계속 진행하려면 다음 명령을 입력하십시오.

pip install xlrd==1.2.0