我有一个.xls和.xlsx文件的目录我试图用openpyxl模块加载到Python中。我的代码如下:
for i in os.listdir(os.getcwd()):
if i.endswith(".xls") or i.endswith(".xlsx"):
wb = openpyxl.load_workbook(i)
当我运行此代码时,我收到以下错误:
raise InvalidFileException(unicode(e))
InvalidFileException: "There is no item named 'xl/styles.xml' in the archive"
我能够一次使用openpyxl成功加载这些相同的文件,但不能循环加载。
提前感谢您的帮助。
詹姆斯
答案 0 :(得分:0)
试试这个 -
for i in os.listdir(os.getcwd()):
if os.path.isfile(i):
if i.endswith(".xls") or i.endswith(".xlsx"):
wb = openpyxl.load_workbook(os.path.join(os.getcwd(), i))
由于os.listdir()
会返回文件和目录的名称,因此最好在继续之前检查给定项目是否为文件。
用openpyxl.load_workbook(i)
替换openpyxl.load_workbook(os.path.join(os.getcwd(), i))
以传递匹配文件的绝对路径,因为相对路径有时会在文件处理中产生问题
注意:考虑更新 openpyxl 并将 .xls 扩展名更改为 .xlsx 或。 xlrd 以确保与最新版本的库兼容。
答案 1 :(得分:0)
我建议你更新你的openpyxl版本。暂时不需要在档案中使用styles.xml
。