您好,我在循环文件执行时遇到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
答案 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
。