J'ai une liste de nombres que je veux mettre dans une seule colonne dans un fichier .csv. Le code ci-dessous écrit les valeurs sur une seule ligne. Comment puis-je changer le code pour que Python écrit chaque valeur sur une ligne séparée? Merci.
with open('returns.csv', 'wb') as f:
writer = csv.writer(f)
writer.writerow(daily_returns)
Avec Python3, ouvrez le fichier en mode w
:
with open('returns.csv', 'w') as f:
writer = csv.writer(f)
for val in daily_returns:
writer.writerow([val])
Avec Python2.6 +, ouvrez le fichier en mode wb
:
with open('returns.csv', 'wb') as f:
writer = csv.writer(f)
for val in daily_returns:
writer.writerow([val])
Solution alternative: En supposant que daily_returns est le nom de la liste que vous souhaitez écrire en tant que colonne dans un fichier CSV, le code suivant devrait fonctionner:
with open('return.csv','w') as f:
writer = csv.writer(f);
writer.writerows(Zip(daily_returns));
Juste pour info:
J'utilise Python 3.2 et je ne pouvais que faire fonctionner les éléments suivants
with open('returns','w')as f:
writer=csv.writer(f,lineterminator='\n')
for val in returns:
writer.writerow([val])
Pour écrire une seule colonne, je recommanderais d'éviter les commandes csv
et d'utiliser simplement plain python avec la méthode str.join () :
with open('returns.csv', 'wb') as f:
f.write("\n".join(daily_returns))