Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 尝试从openpyxl使用模块加载\u工作簿时出错_Python_Excel_Windows_Openpyxl_Xlutils - Fatal编程技术网

Python 尝试从openpyxl使用模块加载\u工作簿时出错

Python 尝试从openpyxl使用模块加载\u工作簿时出错,python,excel,windows,openpyxl,xlutils,Python,Excel,Windows,Openpyxl,Xlutils,我试图使用模块中的load_工作簿打开xlsx文件。我的密码是: import os from openpyxl import load_workbook def edit_workbook(): path = r'C:\123 ABC\Excel documents' filename = 'filename.xlsx' os.path.join(path, filename) workbook = load_workbook(os.path.join(pa

我试图使用模块中的load_工作簿打开xlsx文件。我的密码是:

import os
from openpyxl import load_workbook

def edit_workbook():
    path = r'C:\123 ABC\Excel documents'
    filename = 'filename.xlsx'

    os.path.join(path, filename)
    workbook = load_workbook(os.path.join(path, filename))

    ## Error is on the line above.
我收到的完整错误消息是:

Traceback (most recent call last):

  File "<ipython-input-12-22dfdfc4e5e1>", line 1, in <module>
    workbook = load_workbook(os.path.join(path, filename))

  File "C:\Users\Stewie\Anaconda3\lib\site-packages\openpyxl\reader\excel.py", line 214, in load_workbook
    apply_stylesheet(archive, wb) # bind styles to workbook

  File "C:\Users\Stewie\Anaconda3\lib\site-packages\openpyxl\styles\stylesheet.py", line 176, in apply_stylesheet
    stylesheet = Stylesheet.from_tree(node)

  File "C:\Users\Stewie\Anaconda3\lib\site-packages\openpyxl\styles\stylesheet.py", line 99, in from_tree
    return super(Stylesheet, cls).from_tree(node)

  File "C:\Users\Stewie\Anaconda3\lib\site-packages\openpyxl\descriptors\serialisable.py", line 79, in from_tree
    obj = desc.expected_type.from_tree(el)

  File "C:\Users\Stewie\Anaconda3\lib\site-packages\openpyxl\descriptors\serialisable.py", line 79, in from_tree
    obj = desc.expected_type.from_tree(el)

  File "C:\Users\Stewie\Anaconda3\lib\site-packages\openpyxl\descriptors\serialisable.py", line 79, in from_tree
    obj = desc.expected_type.from_tree(el)

  File "C:\Users\Stewie\Anaconda3\lib\site-packages\openpyxl\descriptors\serialisable.py", line 92, in from_tree
    return cls(**attrib)

  File "C:\Users\Stewie\Anaconda3\lib\site-packages\openpyxl\styles\table.py", line 37, in __init__
    self.dxfId = dxfId

  File "C:\Users\Stewie\Anaconda3\lib\site-packages\openpyxl\descriptors\base.py", line 69, in __set__
    value = _convert(self.expected_type, value)

  File "C:\Users\Stewie\Anaconda3\lib\site-packages\openpyxl\descriptors\base.py", line 59, in _convert
    raise TypeError('expected ' + str(expected_type))

TypeError: expected <class 'int'>
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
工作簿=加载\u工作簿(os.path.join(路径,文件名))
文件“C:\Users\Stewie\Anaconda3\lib\site packages\openpyxl\reader\excel.py”,第214行,在load\u工作簿中
应用样式表(存档,wb)#将样式绑定到工作簿
文件“C:\Users\Stewie\Anaconda3\lib\site packages\openpyxl\styles\stylesheet.py”,第176行,在apply\u样式表中
样式表=样式表。来自树(节点)
文件“C:\Users\Stewie\Anaconda3\lib\site packages\openpyxl\styles\stylesheet.py”,第99行,在from_树中
从_树(节点)返回超级(样式表,cls)
文件“C:\Users\Stewie\Anaconda3\lib\site packages\openpyxl\descriptors\serialisable.py”,第79行,在from_树中
obj=描述树(el)中的预期类型
文件“C:\Users\Stewie\Anaconda3\lib\site packages\openpyxl\descriptors\serialisable.py”,第79行,在from_树中
obj=描述树(el)中的预期类型
文件“C:\Users\Stewie\Anaconda3\lib\site packages\openpyxl\descriptors\serialisable.py”,第79行,在from_树中
obj=描述树(el)中的预期类型
文件“C:\Users\Stewie\Anaconda3\lib\site packages\openpyxl\descriptors\serialisable.py”,第92行,在from_树中
返回cls(**attrib)
文件“C:\Users\Stewie\Anaconda3\lib\site packages\openpyxl\styles\table.py”,第37行,在\uuu init中__
self.dxfId=dxfId
文件“C:\Users\Stewie\Anaconda3\lib\site packages\openpyxl\descriptors\base.py”,第69行,在\uuu集中__
值=\u转换(self.expected\u类型,值)
文件“C:\Users\Stewie\Anaconda3\lib\site packages\openpyxl\descriptors\base.py”,第59行,in\u convert
raise TypeError('应为'+str(应为_类型))
TypeError:应为

有人知道这是什么吗?

我收到了同样的错误。在我的例子中,Excel工作簿没有图表、过滤器、公式和VBA。只有数据。此工作簿由某些第三方软件生成


结果表明工作簿已损坏。我在做了一些很小的修改后试图保存它时发现了这一点。一旦我解决了损坏问题(通过让Excel根据请求将其保存到不同的名称),openpyxl错误就消失了。

我收到了相同的错误。在我的例子中,Excel工作簿没有图表、过滤器、公式和VBA。只有数据。此工作簿由某些第三方软件生成


结果表明工作簿已损坏。我在做了一些很小的修改后试图保存它时发现了这一点。一旦我解决了损坏问题(通过让Excel按要求将其保存到不同的名称),openpyxl错误就消失了。

代码应该可以工作,但是这里的错误似乎表明某个xlsx文件中的表存在问题。样式表似乎是openpyxl无法识别的格式。您是否试图从文件中删除多余的样式/元素?工作簿中有很多元素,包括许多图形。不幸的是,我无法删除任何内容。你知道我是否可以用另一种方式编辑多张表格中的一个单元格并将其保存为
xlsx
?如您所知,
xlwt
仅另存为
xls
。您能将文件加载到Excel中吗?您可以尝试在Excel中做一个小更改并重新保存。我可以在Excel中用
xlrd
/
xlwt
打开它。有200个文件,所以我不想全部手动完成。重新阅读您关于实际数据周围所有绒毛的评论,您是否阅读了
openpyxl
警告:“”。那么它真的适合您的需要吗?代码应该可以工作,但是这里的错误似乎表明您的一个xlsx文件中的表存在问题。样式表似乎是openpyxl无法识别的格式。您是否试图从文件中删除多余的样式/元素?工作簿中有很多元素,包括许多图形。不幸的是,我无法删除任何内容。你知道我是否可以用另一种方式编辑多张表格中的一个单元格并将其保存为
xlsx
?如您所知,
xlwt
仅另存为
xls
。您能将文件加载到Excel中吗?您可以尝试在Excel中做一个小更改并重新保存。我可以在Excel中用
xlrd
/
xlwt
打开它。有200个文件,所以我不想全部手动完成。重新阅读您关于实际数据周围所有绒毛的评论,您是否阅读了
openpyxl
警告:“”。那它真的适合你的需要吗?