Je voudrais enregistrer une liste python dans un .csv
fichier, par exemple j'ai une liste comme celle-ci:
['hello','how','are','you']
Je voudrais l'enregistrer comme ceci:
colummn,
hello,
how,
are,
you,
J'ai essayé ce qui suit:
myfile = open('/Users/user/Projects/list.csv', 'wb')
wr = csv.writer(myfile, quoting=csv.QUOTE_ALL,'\n')
wr.writerow(pos_score)
utilisez pandas to_csv
( http://pandas.pydata.org/pandas-docs/dev/generated/pandas.DataFrame.to_csv.html )
>>> import pandas as pd
>>> df = pd.DataFrame(some_list, columns=["colummn"])
>>> df.to_csv('list.csv', index=False)
Si vous voulez que tous les mots sur des lignes différentes, vous devez définir le délimiteur sur \n
:
l = ['hello','how','are','you']
import csv
with open("out.csv","w") as f:
wr = csv.writer(f,delimiter="\n")
wr.writerow(l)
Sortie:
hello
how
are
you
Si vous voulez une virgule de fin:
with open("out.csv","w") as f:
wr = csv.writer(f,delimiter="\n")
for ele in l:
wr.writerow([ele+","])
Sortie:
hello,
how,
are,
you,
Je recommanderais simplement d'écrire les éléments sans la virgule de fin, il n'y a aucun avantage à avoir une virgule de fin, mais cela pourrait bien vous causer des problèmes plus tard.
Vous pouvez simplement passer cela en tant que valeur d'un dict avec la clé "colonne" à un constructeur DataFrame, puis appeler to_csv
sur le df:
In [43]:
df = pd.DataFrame({'column':['hello','how','are','you']})
df
Out[43]:
column
0 hello
1 how
2 are
3 you
In [44]:
df.to_csv()
Out[44]:
',column\n0,hello\n1,how\n2,are\n3,you\n'