当我尝试在jupyter笔记本中加载CSV文件时,为什么会出现名称错误

时间:2017-10-07 12:55:28

标签: python csv jupyter-notebook nameerror

我的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'

请帮忙吗?

1 个答案:

答案 0 :(得分:0)

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

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))