2020-04-16

openpyxl 파일 불러오기 에러 TypeError: expected <class 'str'>

0. 증상


wb = openpyxl.open()

TypeError: expected <class 'str'>



1. 원인

엑셀 파일의 버전이 맞지 않아서이다.

아마 외부에서 가져온 파일일 가능성이 높다.

현재 필자가 사용하고 있는 openpyxl의 버전은 3.0.3이고,

엑셀의 버전은 Microsoft Office 365 ProPlus 이다.
(Office 365는 구독형 서비스로, 항상 최신 버전을 사용한다고 함)

내가 작성한 파일 혹은 내가 저장한 파일은 정상적으로 열리는걸 확인했는데

인터넷에서 가져온 파일들은 정상적으로 openpyxl로 open되지 않았다.



온라인의 글에 따르면 openpyxl의 버전을 2.5.x 이하로 낮춰서

해당 문제를 해결할 수 있다고 뻥카를 치고 있는데 하지만

필자가 설치 가능한 모든 openpyxl 버전을 다운그레이드하며 시도해본 바에 의하면

해당 방법은 이제 소용이 없다.

시간 날렸다.



2. 해결법


해당 엑셀 파일을 openpyxl이 아닌, Excel로 열어서 '다른 이름으로 저장'하며

Excel 통합 문서 (*.xlsx)로 저장해준다.

(혹은 그냥 파일을 열었다가 Ctrl + S 로 저장해준 뒤 파일을 닫아도 되는 경우가 있다)



이 해결법 외에도, 파일의 버전을 조절할 수 있는 방법이 있다면

그 방법을 사용해도 된다.



우리는 늘 그랬듯이 답을 찾을 것이다.

더 편한 엑셀 작업을 위해..

댓글 없음:

댓글 쓰기