sql >> データベース >  >> RDS >> PostgreSQL

Pythonを使用してCSVに基づいてpostgresにテーブルを自動的に作成する方法

    私はあなたのコードを試しましたが、うまくいきました

    import psycopg2
    
    conn = psycopg2.connect("host= 127.0.0.1 dbname=testdb user=postgres password=postgres")
    print("Connecting to Database")
    cur = conn.cursor()
    
    '''cur.execute("""CREATE TABLE abstable1(
    absid varchar(10) PRIMARY KEY,
    name integer,
    number integer 
    )
    """)'''
    
    with open('lolo.csv', 'r') as f:
        next(f)
        cur.copy_from(f, 'abstable1', sep=',', columns=('absid', 'name', 'number'))
    
    conn.commit()
    conn.close()
    

    それが機能するためにいくつかの変更を加える必要がありましたが、テーブルに abstable1という名前を付ける必要がありました。 abs.abstable1を使用しているため postgresは、スキーマ absを使用していることを前提としています 、チェックしない場合はデータベースにそのスキーマを作成した可能性があります。また、Python 3.7を使用しています。Python2.7(サポートされなくなったと思います)を使用していることに気づきました。これにより、問題が発生する可能性があります。学習するPython3を使用することをお勧めします。これは、Python 3が現在使用されており、そこに記述されたコードに遭遇する可能性が高く、Python2.7に合うようにコードを調整する必要があるためです。



    1. MYSQL LEFT JOIN INCORRECT RESULT

    2. LIMIT句に大きなオフセットを使用してMySQLクエリを高速化するにはどうすればよいですか?

    3. 同じクエリで2つの列をカウントすることは可能ですか?

    4. Logstash INPUT MySQL