为什么zipfile.is_zipfile在xlsx文件中返回True?

Noe*_*oel 5 python excel zip python-2.7

is_zipfile在提取它之前用它来检查它是否是一个zipfile.但该方法在StringIO对象的excel文件中返回True.我使用的是Python 2.7.有谁知道如何解决这一问题?使用可靠is_zipfiile吗?谢谢.

the*_*eye 4

引用微软的XLSX结构概述文档

工作簿数据包含在符合开放打包约定的 ZIP 包中

因此,.xlsx文件实际上只是 zip 文件。如果您不想将它们视为 zip 文件,您可能必须使用这样的 if 条件排除

if os.path.splitext(filename)[1] != ".xlsx" and zipfile.is_file(filename):
Run Code Online (Sandbox Code Playgroud)