私はこれをすべてテストとしてやっています。私はヘッダーを持っているcsvファイルを取って、その値をpostgresqlデータベーステーブルにコピーしたいと思います。テーブルの列の名前は、大文字と小文字が区別されるcsvファイルのヘッダーと同じです。テーブルには2つのカラム "pkey"、 "m"があります。 csvにはヘッダのための "m"があります。 pkeyは、自動インクリメントの主キー設定です。テストとして、私はちょうどcsvの "m"列をテーブルにコピーしたいと思います。Python、Postgresqlのcsvからのコピーの問題
import csv
import psycopg2
database = psycopg2.connect (database = "testing", user="**",
password="**", host="**", port="**")
ocsvf = open("sample.csv")
def merger(conn, table_name, file_object):
cursor = conn.cursor()
cursor.copy_from(file_object, table_name, sep=',', columns=('mls'))
conn.commit()
cursor.close()
try:
merger(database, 'tests', ocsvf)
finally:
database.close()
私はエラー
Traceback (most recent call last):
File "csvtest.py", line 26, in <module>
merger(database, 'tests', ocsvf)
File "csvtest.py", line 21, in merger
cursor.copy_from(file_object, table_name, sep=',', columns=('m'))
psycopg2.ProgrammingError: column "m" of relation "tests" does not exist
としてこれを取得するコードを実行しようとすると私は見ているだけの上に保つことをその何かがシンプル確信しているが、私はまた、私はこれと一つのことをGoogleで検索しています誰かがプライマリキーが設定されているかもしれないと言ったが、私はそれをテストし、プライマリキーはpgadminから手動入力を行うとうまく動作する。最終的にそれを反復する3つの項目['m','l','s']
につながることを意味"mls"
に評価さ
cursor.copy_from(file_object, table_name, sep=',', columns=('mls'))
('mls')
:任意のヘルプはこのラインで
ありがとうございました。私はそれが繰り返すことを知りませんでした。どうもありがとうございます – ChevyCowboy15
大歓迎です。 –