【问题标题】:why do i get a nameerror when i try to load a CSV-File in jupyter notebook为什么当我尝试在 jupyter 笔记本中加载 CSV 文件时出现名称错误
【发布时间】:2017-10-07 12:55:27
【问题描述】:

我的 csv 文件具有以下结构:

 ID    fromEmail   ID toEmail
 134     a@a.com   23  b@b.com
 33      aa@a.com  323 bbb@b.com

我的 jupyter 笔记本上有以下代码:

 import csv as pt
 with open(dnc-temporalGraph.csv, 'rb') as f:
    data = list(csv.reader(f))

以及以下 NameError:

     NameError                            Traceback (most recent call last)
     <ipython-input-65-1b0399e4e4b5> in <module>()
           1 import csv as pt
     ----> 2 with open(dnc-temporalGraph.csv, 'rb') as f:
           3     data = list(csv.reader(f))

     NameError: name 'dnc' is not defined

我已经检查了一些其他问题,例如 thisthis,但仍然无法弄清楚我在这里做错了什么。如果我像第二个链接一样将文件名放在单引号之间,那么我会得到一个 IOError

IOError: [Errno 2] No such file or directory: 'dnc-temporalGraph.csv'

请帮忙?

【问题讨论】:

  • 使用with open('dnc-temporalGraph.csv', 'rb'),您忘记了文件名称上的' '
  • 不,我没有。阅读上文。

标签: python csv jupyter-notebook nameerror


【解决方案1】:

您需要将文件名作为字符串传递:

with open("dnc-temporalGraph.csv", 'rb') as f:

否则它会认为你在调用一个变量dnc

确保笔记本与您的csv 位于同一位置。如果不在同一位置,则必须提供完整路径:"C:/user/x/file_name.csv"


最后,您将 csv 导入为 pt

要么删除as pt,要么将条目"csv.reader(f)" 更改为"pt.reader(f)"


所以你的代码应该是:

import csv as pt
with open("dnc-temporalGraph.csv", 'rb') as f:
   data = list(pt.reader(f))

【讨论】:

  • 嗨,谢谢你的回答。但这无济于事。我的笔记本和 csv 文件在同一个文件夹中。当我按照您的建议将文件放在双引号之间时,我再次得到 NameError。但这次它说“NameError:名称'csv'未定义”
  • 嗯,它工作正常。而且您还没有定义csv,因为您将其导入为pt。所以用pt替换csv
  • 哦,谢谢!这真的解决了这个问题。但根据我的作业描述,我应该将 csv 作为 pt 导入。有解决办法吗?
  • 不要使用 call csv call pt 代替
猜你喜欢
  • 2020-05-24
  • 2020-07-17
  • 2015-09-27
  • 1970-01-01
  • 1970-01-01
  • 2021-10-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多