\

PythonとPostgreSQLを使ってCSVデータをデータベースにインポートする方法を紹介します。この記事では、Pythonのライブラリであるpsycopg2を使用します。

まず、PythonとPostgreSQLを接続するためにpsycopg2をインストールします。次に、CSVファイルを読み込み、そのデータをPostgreSQLのテーブルに挿入します。具体的なコードは以下の通りです。

import io
import psycopg2

with psycopg2.connect(dbname="your_db", user="your_username", password="your_password", host="localhost", port=5432) as connection:
    connection.set_isolation_level(0)
    with connection.cursor() as cursor:
        cursor.execute("DELETE FROM your_table")  # テーブルをクリア
        input_data = '1,X0001,Mike,m,1972-08-09,2020-05-08 11:22:22.222\\n' + '2,X0002,Smith,\\\\N,1972-08-09,2020-05-08 11:22:22.222\\n' + '3,X0003,Naomi,,1972-08-09,2020-05-08 11:22:22.222\\n'
        with io.StringIO(input_data) as file_io:
            cursor.copy_from(file_io, 'your_table', sep=',', null='\\\\N', columns=('id', 'customer_no', 'customer_name', 'sex', 'birth_date', 'created_at'))
        cursor.execute("select * from your_table;")
        print(cursor.fetchall())

このコードでは、まずpsycopg2.connectを使ってデータベースに接続します。その後、cursor.executeを使って既存のデータを削除します。そして、cursor.copy_fromを使ってCSVデータをテーブルに挿入します。最後に、cursor.executecursor.fetchallを使ってデータが正しく挿入されたことを確認します。

この方法を使えば、大量のCSVデータを効率的にPostgreSQLにインポートすることができます。ただし、このコードはあくまで一例であり、実際の使用時には適切にパラメータを調整する必要があります。

以上、Pythonを使ってCSVデータをPostgreSQLにインポートする方法について解説しました。この情報が皆さんの開発に役立つことを願っています。

投稿者 admin

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です