【问题标题】:AttributeError: module 'pandas' has no attribute 'read_csv' Python3.5AttributeError:模块'pandas'没有属性'read_csv' Python3.5
【发布时间】:2017-09-27 12:07:13
【问题描述】:

我已经成功使用pandas.read_csv 很久了,但是当我尝试读取 csv 文件时突然开始出现错误

df = pd.read_csv('file.csv', encoding='utf-8')

错误是

AttributeError: module 'pandas' has no attribute 'read_csv'

我尝试升级 pandas 但不起作用。我试图搜索并得到this answer,但是当我在我的熊猫中搜索 csv.py 文件时,我没有找到任何东西。所以我试图将鼠标悬停在pandas.read_csv 方法上,该方法将我带到parsers.py 文件。但在该文件中没有名为 read_csv 的特定方法,但它指向另一个像这样的解析器函数

# parser.py (built-in file in pandas) file has this implementation
read_csv = _make_parser_function('read_csv', sep=',')
read_csv = Appender(_read_csv_doc)(read_csv)

我不明白它应该如何重新开始工作?任何建议

【问题讨论】:

  • 你在那个文件夹中有一个名为pandas.py的文件吗?
  • 我刚刚注意到我没有pandas.py,而是test_pandas.py。同样,我没有csv.py,但我有test_to_csv.py。现在这是什么意思?
  • 当您使用像import something 这样的语句时,Python 首先会查看您正在运行该脚本的文件夹。如果有一个名为 something.py 的文件,它将导入该文件。因此,当您认为要导入 pandas 时,您可能正在导入自己的脚本。就像在您链接的问题中一样,其他名称冲突可能会出现类似问题(例如csv.py)。

标签: python python-3.x pandas


【解决方案1】:

您的项目可能包含 pandas.py。重命名它并重试.. 会工作。

【讨论】:

  • 请用更真实的场景扩展问题,而不仅仅是可能性
【解决方案2】:

它可以是同一目录中名为 pandas.py 或 csv.py 的文件,也可以是与同一目录中的一个 pandas 文件(很多)类似的名称。我有一个它不喜欢的名为 tokenize.py 的文件。可以尝试在pandas目录下(在pandas中搜索结果)查看是否有类似的文件名。

【讨论】:

    【解决方案3】:

    我也遇到了同样的问题,但是当我为 python 文件创建一个单独的目录时,问题就解决了。确保您的目录中没有其他 python 文件。

    【讨论】:

      【解决方案4】:

      确保导入的库和您正在执行的文件名或您在目录中拥有的文件不会具有相同的名称

      Explainer Screenshot

      尝试将文件名重命名为 Pandas1 或 Pandas_Tutorial.py。它会解决问题。

      【讨论】:

        【解决方案5】:

        试试print(pd)

        确保你得到这种输出

        <module 'pandas' from 'C:\\Users\\adarsh\\AppData\\Local\\Programs\\Python\\Python38\\lib\\site-packages\\pandas\\__init__.py'>
        

        否则,您当前的工作目录中可能还有另一个名为 pandas 的 python 文件

        更多请点击here

        【讨论】:

          【解决方案6】:

          将你的 csv 文件放在你的 python 项目文件所在的目录或文件夹中。这个解决方案对我有用。

          【讨论】:

            【解决方案7】:

            您实际上只需要确保您没有与软件包名称相同的“.py”文件。像 pandas.py、numpy.py 等。

            【讨论】:

              【解决方案8】:

              我遇到了同样的问题,对我有用的解决方案如下。

              最初我使用普通用户帐户安装了 pandas 和 numpy。它安装了库,但几乎没有冲突。所以我使用pip uninstall package 卸载了这些库,然后使用sudo -H pip install package 将它们安装回sudo 帐户。

              我希望它可以帮助其他面临类似问题的人。

              【讨论】:

                【解决方案9】:

                尝试在 Jupyter/ipython 中运行以下代码时,我遇到了同样的问题。

                import pandas as pd
                df = pd.read_csv("weather_data.csv")
                df
                

                我意识到我有一个名为 pandas.py 的文件。事实上,还有另外两个命名为 pandas1.py 和 pandas2.py。我把它们都改了,然后效果很好:) 经验教训。

                【讨论】:

                • 有同样的问题。你是如何找到这些 pandas.py、pandas1.py 文件的?我应该在哪里搜索和重命名它们?请帮忙
                【解决方案10】:

                所以我自己写一个答案。我刚刚注意到我在我的项目中创建了一个文件random.py,它与pandas 包中的random.py 产生了冲突。将我当前的文件重命名为其他对我有用的东西:)

                【讨论】:

                  猜你喜欢
                  • 1970-01-01
                  • 2019-07-17
                  • 2016-11-28
                  • 2019-05-23
                  • 2018-09-18
                  • 1970-01-01
                  • 2021-09-10
                  • 1970-01-01
                  • 1970-01-01
                  相关资源
                  最近更新 更多