Python

파이썬(python) pandas.read_excel 엑셀 파일 읽어 올때 zipfile.BadZipFile: File is not a zip file 오류 해결방법

오랜만에 파이썬을 이용하여 주식 공매도 현황 엑셀파일로 작업을 좀 하려고 보니 오류가 발생한다.

오류내용은 다음과 같다.

Python openpyxl error: BadZipFile: File is not a zip file

raise BadZipFile("File is not a zip file")
zipfile.BadZipFile: File is not a zip file

오류가 발생한 파이썬 스크립트는 다음과 같다.

import pandas
import os
df = pandas.read_excel("C:/Users/Downloads/주식공매도현황_20230118.xlsx"
                       , engine="openpyxl"
                       , sheet_name="sheet1")

path = "c:/python/"
excel_list = df.values.tolist()

엑셀파일을 저장시 xlsx가 아닌 xls로 저장 후 다시 시도해보았으나 동일한 오류가 발생한다.

엑세파일 타입에 따른 오류는 아닌 것이다.

기존에 잘 되던 스크립트가 갑자기 안되는 것을 보면 파이썬 버전 혹은 pandas 라이브러리 버전 문제인 것 같긴한데 그렇다고 다시 파이썬 버전을 다운그레이드할 필요는 없지않은가?

엑세파일이 읽기전용인 경우에도 위에 동일한 오류가 발생됨으로 확인해보는 것을 추천한다.



지금 회사에서 작업중이라면?

많은 회사들이 문서보안(DRM)을 적용한다. 보안이 걸린 문서 파일들의 경우 파일 탐색기로 해당 파일의 아이콘 모양을 보면 자물쇠가 달려있거나 번개모양이 달려있다. 만약 그렇다면 파이썬으로 접근할 수 없다.

Leave a Reply

error: Content is protected !!