将问题阅读表从PostgreSQL编码为Python 3中的Pandas

我正在尝试使用psycopg2和pandas.io.sql软件包从PostgreSQL数据库读取表到熊猫:

connection =  psycopg2.connect(host = host,port = port,database = database,user = user,> password = password)
sql = f"""SELECT * FROM my_table;"""
df = sqlio.read_sql_query(sql,connection)

其中一列中包含泰文字符,导致出现此错误:

Traceback (most recent call last):
  File ".../example_postgresql.py",line 32,in <module>
    df = sqlio.read_sql_query(sql,connection)
  File ".../lib/python3.6/site-packages/pandas/io/sql.py",line 332,in read_sql_query
    chunksize=chunksize,File ".../lib/python3.6/site-packages/pandas/io/sql.py",line 1658,in read_query
    data = self._fetchall_as_list(cursor)
  File ".../lib/python3.6/site-packages/pandas/io/sql.py",line 1671,in _fetchall_as_list
    result = cur.fetchall()
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe0 in position 0: ordinal not in range(128)

如果我删除该列,则可以读取该表。是否有对此的任何直接修复?

版本为:

  • python 3.6
  • 熊猫0.25.3
  • psycopg2 2.8.4
applesseed 回答:将问题阅读表从PostgreSQL编码为Python 3中的Pandas

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3095906.html

大家都在问