Comment exporter sqlite vers CSV en Python sans être formaté en liste?
Voici ce que j'ai actuellement:
conn = sqlite3.connect(dbfile)
conn.text_factory = str ## my current (failed) attempt to resolve this
cur = conn.cursor()
data = cur.execute("SELECT * FROM mytable")
f = open('output.csv', 'w')
print >> f, "Column1, Column2, Column3, Etc."
for row in data:
print >> f, row
f.close()
Il crée un fichier CSV avec une sortie qui ressemble à ceci:
Column1, Column2, Column3, Etc.
(1, u'2011-05-05 23:42:29',298776684,1448052234,463564768,-1130996322, None, u'2011-05-06 04:44:41')
Je ne veux pas les lignes, entre parenthèses, ni guillemets, ni le " u " avant les chaînes de caractères. Comment puis-je obtenir pour écrire les lignes de csv sans tout cela? Merci,
source d'informationauteur Dan
Vous devez vous connecter pour publier un commentaire.
Ce que vous êtes en train de faire est l'impression de l'python représentation sous forme de chaîne d'un tuple, c'est à dire la valeur de retour de
str(row)
. Qui comprend les citations et les u et les parenthèses et ainsi de suite.Au lieu de cela, vous voulez que les données correctement formaté pour un fichier CSV. Eh bien, essayez le
csv
module. Il sait comment mettre en forme les choses pour les fichiers CSV, sans surprise assez.La conversion d'une base de données sqlite tableau de fichier csv peut également se faire directement à l'aide de sqlite3 outils:
Ci-dessus sqlite3 commandes va créer un fichier csv appelé
data.csv
dans votre répertoire courant (bien sûr, ce fichier peut être le nom que vous choisissez). Plus de détails sont disponibles ici: http://www.sqlitetutorial.net/sqlite-export-csv/