Je veux terminer chaque interaction d'une boucle for avec l'écriture d'une nouvelle ligne de contenu (y compris la nouvelle ligne) dans un fichier csv. J'ai ceci:
# Set up an output csv file with column headers
with open('outfile.csv','w') as f:
f.write("title; post")
f.write("\n")
Cela ne semble pas écrire un fichier\n (nouvelle ligne) réel. Plus loin:
# Concatenate into a row to write to the output csv file
csv_line = topic_title + ";" + thread_post
with open('outfile.csv','w') as outfile:
outfile.write(csv_line + "\n")
Cela ne déplace pas non plus le curseur du fichier externe vers la ligne suivante. Chaque nouvelle ligne, à chaque itération de la boucle, remplace simplement la plus récente.
J'ai également essayé outfile.write(os.linesep)
mais n'ai pas fonctionné.
changer "w" en "a"
with open('outfile.csv','a')
with open('outfile.csv', 'w', newline='') as f:
f.writerow(...)
Alternativement:
f = csv.writer('outfile.csv', lineterminator='\n')
Je fais face au même problème, il suffit de suivre:
f = csv.writer('outfile.csv', lineterminator='\n')