Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 우한코로나바이러스
- 진짜영웅
- 봉준호감독통역사
- sharonchoi
- 전염병
- 어서와한국은처음이지
- 최성재
- cnn
- 우한 코로나
- 확진자수
- 우한코로나
- 조현병
- 코로나바이러스
- 웨일즈
- red hearse
- 미중
- 중국외교부
- 신종코로나
- 우한
- 봉준호감독통역
- wuhan
- 코로나
- 코로나19
- Bolton
- 정은경 본부장님
- everybody wants you
- 창궐
- 필리핀사망
- 치앙마이
- parasite
Archives
- Today
- Total
오지's blog
xlsx파일 읽을때 zipfile.BadZipFile: File is not a zip file 에러 발생 본문
개발노트/Python
xlsx파일 읽을때 zipfile.BadZipFile: File is not a zip file 에러 발생
오지구영ojjy90 2022. 8. 11. 15:36728x90
반응형
FILE_NAME = os.path.join(set_downloads_folder("ga"), os.listdir(set_downloads_folder("ga"))[0])
for SHEET in LIST_SHEET:
DF_sheet = pd.read_excel(FILE_NAME, sheet_name=SHEET, engine='openpyxl')
위와 같은 코드에서 read_excel함수를 통해 excel파일을 열려고 했다.
분명히 로컬에서 잘돌아가는데 왜 서버에서는 안돌아갈까.. openpyxl을 버전을 바꾸어보라고 하여 지우고 다시 깔아도 그대로였다.
아래 스택오버플로우에서 보면
"It's because you created empty .xlsx with no metadata which is an empty file with no cells formatting. use exel or equivalent spreadsheet software to save empty file in that directory"
셀단위의 포맷이아닌 빈 엑셀파일을 열어서 그런거라고 한다..
그러나 os.listdir(set_downloads_folder("ga"))[0] 이 코드가 문제였다. 로컬 컴퓨터에서 읽었을때는 파일이 한개만 있어서 첫번째 파일을 선택해도 excel파일이나 서버에 올려서 테스트를 하면 서버에는 여러개의 파일이 있기 때문에 excel파일이 아니였다. csv파일이었다.
저 문제의 코드를 다음과 같이 고쳤더니 잘돌아갔다.
FILE_NAME = glob.glob(os.path.join(set_downloads_folder("ga"), '*.xlsx'))[0]
참고
'개발노트 > Python' 카테고리의 다른 글
개발자 선배 언니를 만나고 나서 (0) | 2022.09.28 |
---|---|
Worksheet index 0 is invalid, 0 worksheets found 혹은 openpyxl AttributeError: 'NoneType' object has no attribute 'rows' (0) | 2022.08.24 |
selenium으로 xpath로 접근시 에러 발생하면 의심해볼만한것. (0) | 2022.08.04 |
sqlalchemy-error-mysql-server-has-gone-away (0) | 2022.06.22 |
s3의 특정 버킷내 파일 모두 다운로드(boto3이용) (0) | 2022.05.02 |
Comments