2016-08-13 97 views
-2

我刚开始学习数据分析的udacity课程时学习python,并且在pyCharm中遇到了我的代码问题。为了说明这一点,代码在udacity shell中使用并且文件位置已更改为udacity网站的指示位置。下面是代码和我得到的2个错误。我知道C++,并且认为python可以轻松地学习即时类型,但除了编码本身之外,我倾向于得到以前从未遇到的这些类型的错误。如果有任何经验法则如何避免这一点,将不胜感激。python问题csv

import csv 

daily_engagements = [] 
project_submissions = [] 

with open(r'C:\Users\austi\Downloads\daily_engagement.csv', 'rt') as f: 
    reader = csv.DictReader(f) 
    daily_engagement = list(reader) 
print(project_submissions[5]) 

with open(r'C:\Users\austi\Downloads\project_submissions.csv', 'rt') as g: 
    reader1 = csv.DictReader(g) 
    project_submissions = list(reader) 
print(daily_engagement[17]) 

ERROR 1

C:\Users\austi\AppData\Local\Programs\Python\Python35-32\python.exe 
      C:/Users/austi/PycharmProjects/untitled2/p2prac.py 
Traceback (most recent call last): 
    File "C:/Users/austi/PycharmProjects/untitled2/p2prac.py", line 15, in <module> 
    project_submissions = list(reader) 
    File "C:\Users\austi\AppData\Local\Programs\Python\Python35- 32\lib\csv.py", line 110, in __next__ 
    row = next(self.reader) 
ValueError: I/O operation on closed file. 

Process finished with exit code 1 

ERROR 2

C:\Users\austi\AppData\Local\Programs\Python\Python35-32\python.exe 
C:/Users/austi/PycharmProjects/untitled2/p2prac.py 
Traceback (most recent call last): 
    File "C:/Users/austi/PycharmProjects/untitled2/p2prac.py", line 10, in <module> 
    print(project_submissions[5]) 
IndexError: list index out of range 

Process finished with exit code 1 
+0

另外我aploigize如果东西,可以解决这个问题了被覆盖我看着尽可能多的帖子,我可以找到尝试一些修复,但仍然不工作 – ASS466uiuc

回答

1

我会在线评论指出你的错误。基本上,你似乎很难跟踪对象和他们的名字。

import csv 

daily_engagements = [] # this is never used 
project_submissions = [] # you never add anything to this list 

with open(r'C:\Users\austi\Downloads\daily_engagement.csv', 'rt') as f: 
    reader = csv.DictReader(f) 
    daily_engagement = list(reader) 
print(project_submissions[5]) # you've never added to this list, so it has no element 5... did you mean to use daily_engagement? 

with open(r'C:\Users\austi\Downloads\project_submissions.csv', 'rt') as g: 
    reader1 = csv.DictReader(g) 
    project_submissions = list(reader) # you are using reader, which was closed already, rather than reader1 
print(daily_engagement[17]) 

这是一个清理的版本。我没有你的文件,我不知道你想打印的数据,但是这可能是你想要什么,只要我能确定:

import csv 

with open(r'C:\Users\austi\Downloads\daily_engagement.csv') as f: 
    reader = csv.DictReader(f) 
    daily_engagement = list(reader) 
print(daily_engagement[5]) 

with open(r'C:\Users\austi\Downloads\project_submissions.csv') as g: 
    reader = csv.DictReader(g) 
    project_submissions = list(reader) 
print(project_submissions[17]) 
+0

哇,这些都是简单的错误,谢谢你指出我切换列表和读者erorr。这固定了它。对不起浪费时间/空间问这个 – ASS466uiuc