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

Pythonを使用して、JSON APIから特定の値をターゲットにし、Postgresqlに挿入します

    まず、idsを抽出します タプルのリストに:

    ids = list((item['id'],) for item in data['issues'])
    # example ids: [('41508',), ('41509',)]
    

    次に、関数 extras.execute_values()を使用します:

    from psycopg2 import extras
    
    query = """
        INSERT into Countries (revenue)
        VALUES %s;
    """
    extras.execute_values(cursor, query, ids)
    

    関数の2番目の引数 executemany(query、vars_list) dataの間は、シーケンスである必要があります 整数インデックスでは要素にアクセスできないオブジェクトです。

    パフォーマンスのため、最初の関数は複数の引数を持つ単一のクエリを実行し、2番目の関数は引数と同じ数のクエリを実行します。

    デフォルトでは、execute_values()の3番目の引数に注意してください。 タプルのリストであるため、idsを抽出しました このように。

    複数の列に値を挿入する必要がある場合、リスト内の各タプルには、挿入された1つの行のすべての値が含まれている必要があります(例:

    )。
    values = list((item['id'], item['key']) for item in data['issues'])
    
    query = """
        INSERT into Countries (id, revenue)
        VALUES %s;
    """
    extras.execute_values(cur, query, values)
    


    1. HerokuのStrapiでPostgresDBに接続できません

    2. BluemixでPHPアプリケーションを変換して、mySQLデータベースの代わりにSQLデータベースを使用するにはどうすればよいですか?

    3. Google MapsAPIv3チェックボックス/フィルターデータベース

    4. SQLServerとSpectre/Meltdownの脆弱性