3 votes

Python, Pourquoi le rédacteur csv met-il des guillemets autour des valeurs ?

Je veux sauvegarder une liste dans un fichier csv. Le problème est que lorsque je veux recharger le fichier, les valeurs sont des chaînes de caractères.

Lorsque j'exécute mon code et ensuite cat "nom_fichier". La sortie est :

cat test.csv -> "[1, 2]","[3, 4]","[5, 3]"

mon code est :

import csv

def save_workschedule():
    small_list = [[1, 2], [3, 4], [5, 3]]
    c = csv.writer(open("test.csv", "w"))
    c.writerow(small_list)

save_workschedule()

comment puis-je enregistrer la liste sans les guillemets ?

4voto

Tim Pietzcker Points 146308

Cela ressemble un peu à un Le problème XY à moi.

La raison des guillemets est que vos valeurs contiennent des virgules (une de ces valeurs étant "[1, 2]" ) et, par conséquent, le rédacteur du CSV doit les mettre entre guillemets pour distinguer ces virgules des séparateurs d'enregistrements.

Une façon de contourner ce problème serait de choisir un autre séparateur, par exemple le point-virgule.

Mais il serait peut-être plus judicieux d'enregistrer cette liste dans un fichier JSON ou de la mettre en saumure. La question à laquelle vous devez répondre est donc la suivante : Pourquoi CSV ?

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X