Ich versuche, eine Charge von CSV sind in PostgreSQL zu importieren und ständig mit fehlenden Daten in ein Problem laufen:eine Reihe von CSV mit Python zu entfernen, wenn die Daten nicht in einer Spalte aufgezeichnet wurden
psycopg2.DataError: missing data for column "column_name" CONTEXT:
COPY table_name, line where ever in the CSV that data wasn't
recorded, and here are data values up to the missing column.
Es gibt Es gibt keine Möglichkeit, den kompletten Satz von Daten zeitweise in die Zeile zu schreiben, und ich muss mit den Dateien so umgehen, wie sie sind. Ich versuche, einen Weg zu finden, die Zeile zu entfernen, wenn Daten in keiner Spalte aufgezeichnet wurden. Hier ist, was ich habe:
file_list = glob.glob(path)
for f in file_list:
filename = os.path.basename(f) #get the file name
arc_csv = arc_path + filename #path for revised copy of CSV
with open(f, 'r') as inp, open(arc_csv, 'wb') as out:
writer = csv.writer(out)
for line in csv.reader(inp):
if "" not in line: #if the row doesn't have any empty fields
writer.writerow(line)
cursor.execute("COPY table_name FROM %s WITH CSV HEADER DELIMITER ','",(arc_csv,))
Da ich eine Wiederholung von weniger als 15 habe meine Post-Score für die Antworten nicht zeigen. Danke Cant und Alecxe! – Jeff