ich eine CSV-Datei mit 5 Spalten lesen und Push-to-Oracle-TabelleLegen Sie in Oracle-Tabelle aus CSV-Python mit
Ich weiß, es gibt viele Ressourcen auf diese .. Aber selbst dann bin ich nicht in der Lage, eine Lösung für mein Problem
-Code zu finden, die CSV zu python zu lesen:
import csv
reader = csv.reader(open("sample.csv","r"))
lines=[]
for line in reader:
lines.append(line)
print lines
Ausgang:
[['Firstname', 'LastName', 'email', 'Course_name', 'status'], ['Kristina', 'Bohn', '[email protected]', 'Guide to Capnography in the Management of the Critically Ill Patient (CE)', 'Registered'], ['Peggy', 'Lutz', '[email protected]', 'Guide to Monitoring EtCO2 During Opioid Delivery (CE)', 'In Progress']]
-Code um die Liste zu Oracle-Tabelle zu schieben:
import cx_Oracle
con = cx_Oracle.connect('username/[email protected]*****vd/Servicename')
ver=con.version.split(".")
print(ver)
cur=con.cursor()
cur.execute("INSERT INTO TEST_CSODUPLOAD ('FIRSTNAME','LASTNAME','EMAIL','COURSE_NAME','STATUS') VALUES(:1,:2,:3,:4,:5)",lines)
con.commit()
cur.close()
Ich erhalte die Fehlermeldung:
Database: ORA-01484: Arrays können nur auf PL/SQL-Anweisungen gebunden
Bitte helfen Sie mir die Frage Vielen Dank im Voraus zu lösen
Guter Punkt geändert. In diesem Fall gibt das OP keine Abfrage aus! :-) –
Wow die Lösung von cursor.executemany ist genial !! Ich sollte meinen Code ändern !! @AnthonyTuininga Wie groß könnte mir das Array? Weil ich mit zu vielen Einsätzen arbeite. Respektieren sie das nächste Mal ein currval? Vielen Dank – lauralacarra
Das Array kann so groß sein, wie Sie möchten - natürlich innerhalb der Grenzen des Speichers und der Datenbank selbst! Ich bin mir nicht sicher, was du genau mit nextval und currval meinst. Sie können diese in Ihrer insert-Anweisung verwenden, und sie verhalten sich wie überall. –