Ich habe einen großen Datensatz, der in der zweiten Spalte Satz und ihren Emotionsstatus hat. Ich habe Code entwickelt, um sie als numpy Array zu lesen. Dann, was ich brauche, ist, wenn die Emotion eines Satzes neutral ist, dann als wahr zurückkehren und wenn nicht, false zurückkehren. Jedes Ergebnis, das von der Bedingung if sonst zurückgegeben wird, sollte in eine CSV-Datei schreiben. Aber hier wird das Ergebnis nur einmal in die CSV-Datei geschrieben, anstatt alle Ergebnisse zu schreiben, die von jeder Iteration der for-Schleife zurückgegeben werden. Das Folgende ist der Code, den ich bisher habe.Einen String-Wert in Python in eine CSV-Datei schreiben
import csv
import numpy as np
with open('Book1.csv', encoding='utf8') as csvfile:
reader = csv.DictReader(csvfile)
for row in reader:
text=(row['text'])
emotion=(row['emotion'])
my_list=(text, emotion)
my_array = np.asarray(my_list)
make_array = (text, "neutral")
num_array = np.asarray(make_array)
if np.array_equal(my_array,num_array):
with open('test.csv', 'w') as csvfile:
fieldnames = ['result']
writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
writer.writeheader()
writer.writerow({'result': 'True'})
else:
with open('test.csv', 'w') as csvfile:
fieldnames = ['result']
writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
writer.writeheader()
writer.writerow({'result': 'False'})`
ich könnte irgendwo falsch sein. Jemand bitte hilf mir.
'open ('test.csv', 'w')' überschreibt die Datei bei jedem Aufruf. Sie müssen entweder im Append-Modus 'open ('test.csv', 'a')' öffnen, oder besser noch, öffnen Sie es nur einmal vor der Schleife. Außerdem sollte der Code unter 'with open ('Book1.csv', encoding = 'utf8') als csvfile:' um eine Ebene eingerückt werden. – Craig
oh wow, für jede Zeile in book1.csv öffnen, schreiben und schließen Sie test.csv. Können Sie nicht zuerst ein Wörterbuch mit den erforderlichen Datensätzen erstellen und schließlich schreiben? – Pushkr
Irgendwann möchte ich True und False Wert zählen. Wenn es einen anderen Weg gibt als den, dem ich folge. Erzähl es mir bitte. –