PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

PostgreSQL psycopg2 Python3.7.4 UnicodeDecodeError:„ASCII“-Codec kann Byte nicht dekodieren

Ich habe das Problem mit dem Paket pyodbc.here gelöst:

import pyodbc
import pandas as pd

conn_str = (
    "DRIVER={PostgreSQL Unicode};"
    "DATABASE=adp_report;"
    "UID=db_name;"
    "PWD=password;"
    "SERVER=111.111.11.11;"
    "PORT=5432;"
    )

Beachten Sie, dass "DRIVER={PostgreSQL Unicode};" ist buchstäblich diese Zeichenfolge. Für die anderen Argumente ändern Sie sie entsprechend. Hier ist eine praktische Funktion, um die Verbindungszeichenfolge und die Abfrage aus der Datenbank zu übergeben.

def query_db(query):
    conn = pyodbc.connect(conn_str)
    dat = pd.read_sql(query, conn)
    conn.close()
    return dat