mysql pandas 查询列时出现 unicode 错误

mysql pandas unicode error while querying on columns

我有一个 csv 文件,我正在通过 pandas.Then 读取它。我正在尝试对该文件调用 mysql 查询,但出现错误。

import pandas
import pandasql
fl=pandas.read_csv('file.csv')

文件的列是

fl.columns
Index([ u'time', u'contact', u'address'], dtype='object')

查询是

q=u"""
SELECT contact FROM fl LIMIT 50
"""

我 运行 作为

fl_solution=pandasql.sqldf(q,locals())

我得到的错误是:-

ProgrammingError: You must not use 8-bit bytestrings unless you use a text_factory that can interpret 8-bit bytestrings (like text_factory = str). It is highly recommended that you instead just switch your application to Unicode strings.

尝试这样做:

fl=pandas.read_csv('file.csv',encoding='utf-8')

指定将文件编码为utf-8编码。还尝试将字符串编码为 utf-8 无论您使用从文件还是外部源获取的字符串。

例如:

stringname.encode('utf-8')

尝试按照 harshad 的建议使用不同的编码。

encoding = "ISO-8859-1" ,此后 mysql 查询也正常工作。