gpt4 book ai didi

python - Pandas 中的 read_excel 错误 ('ElementTree' 对象没有属性 'getiterator' )

转载 作者:行者123 更新时间:2023-12-04 16:38:53 24 4
gpt4 key购买 nike

我什么都试过了。我是一个完全的初学者。所以非常感谢帮助。

这是我要运行的代码。

import pandas as pd

filepath = r'/Users/vignesh/Desktop/Python/test2.xlsx'
df = pd.read_excel(filepath)
print(df)

这在 Jupyterlabs 上不断抛出以下错误。有人知道我该如何解决吗?我已经安装并更新了 xlrd、openpyxl。我在 YT 上看了一些视频,看看其他人是怎么做的。他们似乎可以毫不费力地使用这些相同的代码行。

---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
<ipython-input-3-fa10276656c9> in <module>
----> 1 pd.read_excel('test2.xlsx')

/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/pandas/util/_decorators.py in wrapper(*args, **kwargs)
294 )
295 warnings.warn(msg, FutureWarning, stacklevel=stacklevel)
--> 296 return func(*args, **kwargs)
297
298 return wrapper

/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/pandas/io/excel/_base.py in read_excel(io, sheet_name, header, names, index_col, usecols, squeeze, dtype, engine, converters, true_values, false_values, skiprows, nrows, na_values, keep_default_na, na_filter, verbose, parse_dates, date_parser, thousands, comment, skipfooter, convert_float, mangle_dupe_cols)
302
303 if not isinstance(io, ExcelFile):
--> 304 io = ExcelFile(io, engine=engine)
305 elif engine and engine != io.engine:
306 raise ValueError(

/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/pandas/io/excel/_base.py in __init__(self, path_or_buffer, engine)
865 self._io = stringify_path(path_or_buffer)
866
--> 867 self._reader = self._engines[engine](self._io)
868
869 def __fspath__(self):

/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/pandas/io/excel/_xlrd.py in __init__(self, filepath_or_buffer)
20 err_msg = "Install xlrd >= 1.0.0 for Excel support"
21 import_optional_dependency("xlrd", extra=err_msg)
---> 22 super().__init__(filepath_or_buffer)
23
24 @property

/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/pandas/io/excel/_base.py in __init__(self, filepath_or_buffer)
351 self.book = self.load_workbook(filepath_or_buffer)
352 elif isinstance(filepath_or_buffer, str):
--> 353 self.book = self.load_workbook(filepath_or_buffer)
354 elif isinstance(filepath_or_buffer, bytes):
355 self.book = self.load_workbook(BytesIO(filepath_or_buffer))

/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/pandas/io/excel/_xlrd.py in load_workbook(self, filepath_or_buffer)
35 return open_workbook(file_contents=data)
36 else:
---> 37 return open_workbook(filepath_or_buffer)
38
39 @property

/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/xlrd/__init__.py in open_workbook(filename, logfile, verbosity, use_mmap, file_contents, encoding_override, formatting_info, on_demand, ragged_rows)
128 if 'xl/workbook.xml' in component_names:
129 from . import xlsx
--> 130 bk = xlsx.open_workbook_2007_xml(
131 zf,
132 component_names,

/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/xlrd/xlsx.py in open_workbook_2007_xml(zf, component_names, logfile, verbosity, use_mmap, formatting_info, on_demand, ragged_rows)
810 del zflo
811 zflo = zf.open(component_names['xl/workbook.xml'])
--> 812 x12book.process_stream(zflo, 'Workbook')
813 del zflo
814 props_name = 'docprops/core.xml'

/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/xlrd/xlsx.py in process_stream(self, stream, heading)
264 self.tree = ET.parse(stream)
265 getmethod = self.tag2meth.get
--> 266 for elem in self.tree.iter() if Element_has_iter else self.tree.getiterator():
267 if self.verbosity >= 3:
268 self.dump_elem(elem)

AttributeError: 'ElementTree' object has no attribute 'getiterator'

最佳答案

您正在使用带有 xldr 的 Python 3.9,此错误是由于从 xldr 中删除了 getiterator 方法。 (NB 不指定引擎,默认使用 xldr 根据 pandas documentation )

您可以使用 Python < 3.9 的版本或使用不同的引擎来解析您的 excel 文件。像这样:

import pandas as pd

filepath = r'/Users/vignesh/Desktop/Python/test2.xlsx'
df = pd.read_excel(filepath, engine='openpyxl')
print(df)

关于python - Pandas 中的 read_excel 错误 ('ElementTree' 对象没有属性 'getiterator' ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64752285/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com