Schreiben Sie eine csv-Datei in SQL Server-Datenbank mithilfe von python

Hallo, ich bin beim schreiben einer csv-Datei in eine Tabelle in SQL Server-Datenbank mithilfe von python. Ich bin vor Fehler wenn ich die übergabe der Parameter , aber ich glaube nicht das Gesicht einer Fehlermeldung, wenn ich es manuell mache. Hier ist der code, den ich ausführen.

cur=cnxn.cursor() # Get the cursor
csv_data = csv.reader(file(Samplefile.csv')) # Read the csv
for rows in csv_data: # Iterate through csv
    cur.execute("INSERT INTO MyTable(Col1,Col2,Col3,Col4) VALUES (?,?,?,?)",rows)
cnxn.commit()

Fehler :pyodbc.DataError: ('22001', '[22001] [Microsoft][ODBC SQL Server Driver][SQL Server]Zeichenfolgen-oder Binärdaten würden abgeschnitten werden. (8152) (SQLExecDirectW); [01000] [Microsoft][ODBC SQL Server Driver][SQL Server]Die Anweisung wurde beendet. (3621)')

Aber wenn ich legen Sie die Werte manuell ein. Es funktioniert gut

cur.execute("INSERT INTO MyTable(Col1,Col2,Col3,Col4) VALUES (?,?,?,?)",'A','B','C','D')

Ich habe sichergestellt, dass die TABELLE gibt es in der Datenbank, Datentypen konsistent mit den Daten, die ich übertrage. Verbindung und cursor sind auch richtig. Der Datentyp der Zeilen ist "Liste"

  • Hat deine csv-Datei enthält die Spaltennamen in der ersten Zeile?
InformationsquelleAutor NG_21 | 2014-01-21
Schreibe einen Kommentar