【问题标题】:PyMySQL and Pandas return garbled columns for Japanese charactersPyMySQL 和 Pandas 为日语字符返回乱码列
【发布时间】:2018-01-01 02:18:51
【问题描述】:

我正在尝试从数据库中读取一些表。当数据库只包含数字和英文字符时,我可以得到数据,但是数据库中的其他表包含一些日文字符。当我下载这些表格时,带有日文字符的列显示所有问号:???????????

我的代码:

import pymysql
from sshtunnel import SSHTunnelForwarder   
with SSHTunnelForwarder(
        (ssh_host, ssh_port),
        ssh_username=ssh_user,
        ssh_pkey=mypkey,
        remote_bind_address=(sql_ip, sql_port)) as tunnel:
        conn = pymysql.connect(host='127.0.0.1', user=sql_username,
                passwd=sql_password, 
                port=tunnel.local_bind_port,db=db,unicode_results=True)

        #data = pd.read_sql_query(query, conn)
        data = pd.read_sql_query(query_2, conn,)

我曾尝试过 pd.set_option('display.unicode.east_asian_width', True) 以前对我有用,但在这里似乎没有帮助。

【问题讨论】:

    标签: python-3.x pandas paramiko pymysql


    【解决方案1】:

    我实际上解决了我的问题,对于那些感兴趣的人,下面是答案: 我只需要在我的代码中添加charset='ujis'。现在它没有乱码了。

    conn = pymysql.connect(host='127.0.0.1', user=sql_username,
                    passwd=sql_password, 
                    port=tunnel.local_bind_port,db=db,charset='uji')
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-05-23
      • 2018-12-21
      • 2021-08-31
      • 2019-08-01
      • 2015-03-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多