【问题标题】:TypeError: __init__() got an unexpected keyword argument 'xfid'TypeError: __init__() 得到了一个意外的关键字参数“xfid”
【发布时间】:2021-11-17 12:28:29
【问题描述】:

我在尝试打开扩展名为 xlsx 的文件时遇到以下错误。

我曾尝试使用带有引擎的 pandas 作为 openpyxl、openpyxl 库,但错误仍然相同。 代码 -

import pandas as pd 

filepath=r'C:\Users\smriti.rastogi\eclipseworkspace\demoproject\testfile1.xlsx'
readFile = pd.read_excel(filepath, sheet_name='Sheet1')
readFile.head()

感谢任何帮助。

  File ".\test.py", line 25, in <module>
    readFile = pd.read_excel(filepath, sheet_name='Sheet1')
  File "C:\Users\smriti.rastogi\AppData\Local\Programs\Python\Python38-32\lib\site-packages\pandas\util\_decorators.py", line 311, in wrapper 
    return func(*args, **kwargs)
  File "C:\Users\smriti.rastogi\AppData\Local\Programs\Python\Python38-32\lib\site-packages\pandas\io\excel\_base.py", line 364, in read_excel
    io = ExcelFile(io, storage_options=storage_options, engine=engine)
  File "C:\Users\smriti.rastogi\AppData\Local\Programs\Python\Python38-32\lib\site-packages\pandas\io\excel\_base.py", line 1233, in __init__   
    self._reader = self._engines[engine](self._io, storage_options=storage_options)
  File "C:\Users\smriti.rastogi\AppData\Local\Programs\Python\Python38-32\lib\site-packages\pandas\io\excel\_openpyxl.py", line 522, in __init__
    super().__init__(filepath_or_buffer, storage_options=storage_options)
  File "C:\Users\smriti.rastogi\AppData\Local\Programs\Python\Python38-32\lib\site-packages\pandas\io\excel\_base.py", line 420, in __init__
    self.book = self.load_workbook(self.handles.handle)
  File "C:\Users\smriti.rastogi\AppData\Local\Programs\Python\Python38-32\lib\site-packages\pandas\io\excel\_openpyxl.py", line 533, in load_workbook
    return load_workbook(
  File "C:\Users\smriti.rastogi\AppData\Local\Programs\Python\Python38-32\lib\site-packages\openpyxl\reader\excel.py", line 317, in load_workbook    
    reader.read()
  File "C:\Users\smriti.rastogi\AppData\Local\Programs\Python\Python38-32\lib\site-packages\openpyxl\reader\excel.py", line 281, in read
    apply_stylesheet(self.archive, self.wb)
  File "C:\Users\smriti.rastogi\AppData\Local\Programs\Python\Python38-32\lib\site-packages\openpyxl\styles\stylesheet.py", line 198, in apply_stylesheet
    stylesheet = Stylesheet.from_tree(node)
  File "C:\Users\smriti.rastogi\AppData\Local\Programs\Python\Python38-32\lib\site-packages\openpyxl\styles\stylesheet.py", line 103, in from_tree       
    return super(Stylesheet, cls).from_tree(node)
  File "C:\Users\smriti.rastogi\AppData\Local\Programs\Python\Python38-32\lib\site-packages\openpyxl\descriptors\serialisable.py", line 87, in from_tree 
    obj = desc.expected_type.from_tree(el)
  File "C:\Users\smriti.rastogi\AppData\Local\Programs\Python\Python38-32\lib\site-packages\openpyxl\descriptors\serialisable.py", line 87, in from_tree 
    obj = desc.expected_type.from_tree(el)
  File "C:\Users\smriti.rastogi\AppData\Local\Programs\Python\Python38-32\lib\site-packages\openpyxl\descriptors\serialisable.py", line 103, in from_tree
    return cls(**attrib)
TypeError: __init__() got an unexpected keyword argument 'xfid'

【问题讨论】:

  • 好的 - 这就是跟踪,你的代码在哪里?
  • 它表示您使用关键字 xfid,而我认为您应该使用 xfld(L 而不是小写的 I)
  • 复制整个回溯。有趣的部分在开头,靠近Traceback (most recent call last)
  • @DarkKnight 我已编辑问题以包含代码
  • @Sidney,除了 sheet_name,我没有使用任何关键字参数。不知道你指的是什么。

标签: python pandas openpyxl


【解决方案1】:

您文档中的一种样式可能已损坏。尝试将您的数据作为纯文本复制/粘贴到另一张空白纸上。使用新文档重试。

这行得通,什么是 xfid ,没有找到任何与之相关的相关链接。如果您可以分享一些资源,将会有所帮助。

很遗憾,没有关于这个问题的资源。您必须根据回溯阅读source code才能找到错误。

【讨论】:

    猜你喜欢
    • 2012-12-11
    • 1970-01-01
    • 2017-10-16
    • 2020-10-22
    • 2016-11-01
    • 2021-10-21
    • 2021-10-15
    • 2021-12-30
    • 2020-08-21
    相关资源
    最近更新 更多