Ich habe eine CSV-Datei, die etwa wie folgt aussieht: (. Ex - ['Date', 'Person', 'Time Out', etc.] or ['6/20/2016', 'August', '11:58' etc.]
)CSV-Datei in SQL-Anweisung INSERT
Date,Person,Time Out,Time Back,Restaurant,Calories,Delicious?
6/20/2016,August,11:58,12:45,Black Bear,850,Y
6/20/2016,Marcellus,12:00,12:30,Brought Lunch,,Y
6/20/2016,Jessica,11:30,12:30,Wendy's,815,N
6/21/2016,August,12:05,1:01,Brought Lunch,,Y
Bisher habe ich es geschafft haben, jede Zeile in eine Liste von Zeichenketten zu drucken.
Jetzt brauche ich 2 weitere Dinge zu tun: (. Für ex - ['ID', 'Date', 'Person', etc.] and ['1', '6/20/2016', 'August', etc.]
)
- Fügen Sie einen ID-Header und sequentielle numerische Zeichenfolge jeder Zeile
- Separate jede Zeile, so dass sie in werden können formatiert Anweisungen fügen, anstatt nur das Programm mit jeder einzelnen Zeile nacheinander auszudrucken -
Hier ist der Code, der mich so weit wie ich bin jetzt bekommen hat (zB INSERT INTO Table ['ID', 'Date', 'Person', etc.] VALUES ['1', '6/20/2016', 'August', etc.]
.):
import csv
openFile = open('test.csv', 'r')
csvFile = csv.reader(openFile)
for row in csvFile:
print (row)
openFile.close()
die ID-Spalte in der SQL-Tabelle ein Primärschlüssel? In diesem Fall könnten Sie sich auf die ** auto_increment ** -Eigenschaft von SQL verlassen und die ID-Spalte in der Einfügeabfrage einfach ignorieren. – Mumpo
Warum verwenden Sie nicht das von MySQL eingebaute 'LOAD DATA INFILE', um direkt von der CSV-Datei in die Datenbank zu laden, anstatt es in Python zu analysieren? – Barmar
@Mumpo, Ja ist es. Ich bin mit MySQL nicht sehr vertraut, also wusste ich nicht, dass dies eine Option ist, aber viel praktikabler erscheint als das, was ich oben aufgelistet hatte. Danke für den Tipp. – ThoseKind