J'ai du mal à trouver comment utiliser le délimiteur pour csv.writer en Python. J'ai un fichier csv dans lequel les chaînes séparées par des virgules sont dans une seule cellule et j'ai besoin d'avoir chaque mot dans chaque cellule individuelle. Par exemple:
100 , 2559 ,,Main, St,LEOMA,LEOMA,498,498, AK,AK
140 , 425 ,,Main, St,LEOMA,LEOMA,498,498, AK,AK
100 , 599 ,,Main, St,LEOMA,LEOMA,498,498, AK,AK
devrait être
100 2559 Main St LEOMA LEOMA 498 498 AK AK
140 425 Main St LEOMA LEOMA 498 498 AK AK
100 599 Main St LEOMA LEOMA 498 498 AK AK
(chaque mot dans une cellule individuelle).
J'ai essayé:
import csv
workingdir = "C:\Mer\Ven\sample"
csvfile = workingdir+"\test3.csv"
f=open(csvfile,'wb')
csv.writer(f, delimiter =' ',quotechar =',',quoting=csv.QUOTE_MINIMAL)
Votre code efface votre fichier:
import csv
workingdir = "C:\Mer\Ven\sample"
csvfile = workingdir+"\test3.csv"
f=open(csvfile,'wb') # opens file for writing (erases contents)
csv.writer(f, delimiter =' ',quotechar =',',quoting=csv.QUOTE_MINIMAL)
si vous voulez lire le fichier, vous devrez utiliser csv.reader et ouvrir le fichier pour le lire.
import csv
workingdir = "C:\Mer\Ven\sample"
csvfile = workingdir+"\test3.csv"
f=open(csvfile,'rb') # opens file for reading
reader = csv.reader(f)
for line in reader:
print line
Si vous souhaitez le réécrire dans un nouveau fichier avec différents délimiteurs, vous pouvez créer un nouveau fichier et spécifier ces délimiteurs et écrire chaque ligne (au lieu d'imprimer le tuple).
ok, voici ce que j'ai compris de votre question. Vous écrivez un fichier csv à partir de python mais lorsque vous ouvrez ce fichier dans une autre application comme Excel ou Open Office, ils affichent la ligne complète dans une cellule plutôt que chaque mot dans une cellule individuelle. J'ai raison??
si je le suis, essayez ceci,
import csv
with open(r"C:\\test.csv", "wb") as csv_file:
writer = csv.writer(csv_file, delimiter =",",quoting=csv.QUOTE_MINIMAL)
writer.writerow(["a","b"])
vous devez définir le delimiter = ","