私は、PostgreSQLにCSVのバッチをインポートし、常に不足しているデータの問題に実行しようとしています:は、PythonでCSVから行を削除
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.
があります時々行に書き込まれたデータの完全なセットを取得する方法はありません。私はそのファイルをそのまま扱わなければなりません。データがどの列にも記録されていない場合、行を削除する方法を考えようとしています。ここで私が持っているものだ。残念ながら
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,))
私は15歳未満の担当者がいるので、回答は表示されません。おかげで、カントとアレクセ! – Jeff