2017-05-05 3 views
0

Hallo Ich bin konfrontiert mit E/A-Fehler beim Ausführen der Datei. Die Codeaufforderung "ValueError: E/A-Operation für geschlossene Datei." während dem Rennen. Hat jemand eine Idee, während die Operation geschlossen ist, während ich neue Looping öffne? Vielen DankValueError: E/A-Vorgang bei geschlossener Datei während der Schleife

Code unten:

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

Können wir eine Zeilennummer bekommen? –

Antwort

0

with schließt die Datei, die Sie versuchen, einmal zu lesen, es es gemacht wird. Sie öffnen also die Datei, erstellen einen CSV-Reader und schließen dann die zugrunde liegende Datei und versuchen dann, daraus zu lesen. Sehen Sie mehr über Datei i/o here

Lösung ist, alle Ihre Arbeit an Ihrem queries2Google Leser INSIDE die mit Aussage zu tun:

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

Einige zusätzliche Sachen:

Das pass nicht tut alles und Sie sollten wahrscheinlich with wieder innerhalb der QGN Funktion verwenden, da die Datei dort geöffnet und geschlossen ist. Python benötigt keine leeren Returns. Sie scheinen auch nicht f in der QGN Funktion zu verwenden.

Verwandte Themen