ValueError:循环

时间:2017-05-05 03:58:02

标签: python python-3.x io multiple-files

您好,我在循环文件执行时遇到I / O错误。代码提示'ValueError:关闭文件的I / O操作'。在跑步的时候。当我在循环时打开新的操作时,是否有任何人在关闭操作时有任何想法?非常感谢

以下代码:

with open('inputlist.csv', 'r') as f:  #input list reading
    reader = csv.reader(f)
    queries2Google = reader
print(queries2Google)

def QGN(query2Google):
    s = '"'+query2Google+'"' #Keywords for query, to solve the + for space
    s = s.replace(" ","+")
    date = str(datetime.datetime.now().date()) #timestamp
    filename =query2Google+"_"+date+"_"+'SearchNews.csv' #csv filename
    f = open(filename,"wb")   #open output file

    pass

    df = np.reshape(df,(-1,3))
    itemnum,col=df.shape
    itemnum=str(itemnum)
    df1 = pd.DataFrame(df,columns=['Title','URL','Brief'])
    print("Done! "+itemnum+" pieces found.")

    df1.to_csv(filename, index=False,encoding='utf-8')
    f.close()

    return

for query2Google in queries2Google:
    QGN(query2Google) #output should be multiple files

1 个答案:

答案 0 :(得分:0)

with关闭您尝试阅读的文件。所以你打开文件,制作一个csv阅读器,然后关闭底层文件,然后尝试从中读取。查看有关文件i / o here

的更多信息

解决方案是在queries2Google读者的所有工作中使用声明:

with open('inputlist.csv', 'r') as f:  #input list reading
    reader = csv.reader(f)
    for q2g in reader:
        QGN(q2g)

其他一些东西:

pass没有做任何事情,您应该在with函数内再次使用QGN,因为文件在那里打开和关闭。 Python不需要空回报。你似乎甚至没有在f函数中使用QGN