模块“熊猫”没有属性“read_csv”

Posted

技术标签:

【中文标题】模块“熊猫”没有属性“read_csv”【英文标题】:module 'pandas' has no attribute 'read_csv 【发布时间】:2017-03-26 01:52:39 【问题描述】:
import pandas as pd

df = pd.read_csv('FBI-CRIME11.csv')

print(df.head())

运行这个简单的代码给了我错误:

Traceback (most recent call last):
  File "C:/Users/Dita/Desktop/python/lessons/python.data/csv.py", line 1, in <module>
    import pandas as pd
  File "C:\python\lib\site-packages\pandas-0.19.1-py3.5-win-amd64.egg\pandas\__init__.py", line 37, in <module>
    import pandas.core.config_init
  File "C:\python\lib\site-packages\pandas-0.19.1-py3.5-win-amd64.egg\pandas\core\config_init.py", line 18, in <module>
    from pandas.formats.format import detect_console_encoding
  File "C:\python\lib\site-packages\pandas-0.19.1-py3.5-win-amd64.egg\pandas\formats\format.py", line 33, in <module>
    from pandas.io.common import _get_handle, UnicodeWriter, _expand_user
  File "C:\python\lib\site-packages\pandas-0.19.1-py3.5-win-amd64.egg\pandas\io\common.py", line 5, in <module>
    import csv
  File "C:\Users\Dita\Desktop\python\lessons\python.data\csv.py", line 4, in <module>
    df = pd.read_csv('FBI-CRIME11.csv')
AttributeError: module 'pandas' has no attribute 'read_csv'

【问题讨论】:

您可以重新运行pip install pandas 并再试一次吗? 【参考方案1】:

尝试将您的 csv.py 重命名为其他名称,例如 csv_test.py。看起来pandas 对要导入的内容感到困惑。

【讨论】:

您可能还需要删除任何挥之不去的csv.pyc 文件。 详细说明为什么会这样? @meow 有一个名为 csv 的内置 python 模块,但具有相同名称的用户模块具有优先权,Pandas 会尝试导入它。 我应该在哪里寻找这个 csv.py 文件?在正在使用的环境文件夹中? (仅供参考-正在使用虚拟环境)【参考方案2】:

确保在执行 python 文件的目录中没有名为 pandas.py 的文件。

【讨论】:

实际上我的脚本名为 pandas.py,因为我正在测试 pandas 的功能,很好的提示。【参考方案3】:

我检查了csv.py 的存在,并确保没有此名称的文件。我也试过pip uninstall pandas,然后pip install pandas。我仍然遇到同样的错误。

对我有用的是:pip-autoremove

首先使用pip install pip-autoremove安装它。 然后,使用 pip-autoremove pandas -y 删除 pandas。 接下来,使用pip install pandas 重新安装它。

之所以需要这样做是因为有时在使用卸载时,包文件夹可能仍然存在。

【讨论】:

我试过这种方法。但我最终得到了这个:pkg_resources.DistributionNotFound: The 'panadas' distribution was not found and is required by the application【参考方案4】:

我正在使用 Jupiter notebook,在我的例子中,我已经导入并使用了如下 pandas。

import pandas as pd
df = pd.read_csv('canada_per_capita_income.csv')

但它一直抛出这个错误

DataFrame' 对象没有属性 'read_csv

然后我重新启动内核并将 csv 文件重命名为

收入.csv

它解决了我的问题。希望这可能对某人有所帮助


【讨论】:

【参考方案5】:

您需要确保没有名为pandas.pynumpy.pymatplotlib.py 的文件

【讨论】:

以上是关于模块“熊猫”没有属性“read_csv”的主要内容,如果未能解决你的问题,请参考以下文章

如何加速熊猫 read_csv?

熊猫 read_csv 和 UTF-16

尾随分隔符使熊猫 read_csv 感到困惑

熊猫 read_csv dtype 前导零

来自 BytesIO 的熊猫 read_csv

熊猫的 read_csv 总是在小文件上崩溃