MySQL / python 连接器转换参数不起作用
MySQL / python conncector conversion arguments not working
我试图在 mysql.connector.connect() 中使用以下附加参数,但是当我 运行 以下代码时,它似乎没有任何效果。
import mysql.connector
cnx = mysql.connector.connect(
....
raw='true',
use_unicode='false'
)
cursor = cnx.cursor()
query = ("...")
cursor.execute(query)
result = cursor.fetchall()
print result
[(datetime.date(2015, 4, 5), 1243), ...
其中结果有一列 MySQL 日期时间格式值
但即使有这些参数,输出仍然是 python datetime.date(YYYY,M,D) 格式
即使 "raw" 设置为 true,调用 col = cursor.column_names
、returns unicode 而不是字符串时也会出现同样的问题。
print cursor.colun_names = (u'string_1', u'string_2')
是否需要其他配置?我不想在每次使用时都编写代码来转换它们。谢谢!
我认为当 Python 评估如下:
if use_unicode:
// do something
变量 use_unicode
returns 正确,因为字符串 'false'
的计算结果为 True
。尝试使用 Boolean
值。
import mysql.connector
cnx = mysql.connector.connect(
....
raw=True,
use_unicode=False
)
cursor = cnx.cursor()
query = ("...")
cursor.execute(query)
result = cursor.fetchall()
print result
raw=True means:
A MySQLCursorRaw cursor skips the conversion from MySQL data types to
Python types when fetching rows. A raw cursor is usually used to get
better performance or when you want to do the conversion yourself.
所以你得到了预期的 ByteArray。我不知道你到底想做什么,但是当我在 Python 中使用 MySQL 时,我更喜欢使用字典数据结构。
cursor = cnx.cursor(dictionary=True)
然后您将得到字典形式的结果。如果你想将它作为字符串查看,只需执行 print str(dict)
import mysql.connector
cnx = mysql.connector.connect(user=self.username, password=self.password, host=self.host, database=self.database);
cursor = cnx.cursor(dictionary=True)
query = ("...")
cursor.execute(query)
result = cursor.fetchall()
print str(result)
我试图在 mysql.connector.connect() 中使用以下附加参数,但是当我 运行 以下代码时,它似乎没有任何效果。
import mysql.connector
cnx = mysql.connector.connect(
....
raw='true',
use_unicode='false'
)
cursor = cnx.cursor()
query = ("...")
cursor.execute(query)
result = cursor.fetchall()
print result
[(datetime.date(2015, 4, 5), 1243), ...
其中结果有一列 MySQL 日期时间格式值 但即使有这些参数,输出仍然是 python datetime.date(YYYY,M,D) 格式
即使 "raw" 设置为 true,调用 col = cursor.column_names
、returns unicode 而不是字符串时也会出现同样的问题。
print cursor.colun_names = (u'string_1', u'string_2')
是否需要其他配置?我不想在每次使用时都编写代码来转换它们。谢谢!
我认为当 Python 评估如下:
if use_unicode:
// do something
变量 use_unicode
returns 正确,因为字符串 'false'
的计算结果为 True
。尝试使用 Boolean
值。
import mysql.connector
cnx = mysql.connector.connect(
....
raw=True,
use_unicode=False
)
cursor = cnx.cursor()
query = ("...")
cursor.execute(query)
result = cursor.fetchall()
print result
raw=True means:
A MySQLCursorRaw cursor skips the conversion from MySQL data types to Python types when fetching rows. A raw cursor is usually used to get better performance or when you want to do the conversion yourself.
所以你得到了预期的 ByteArray。我不知道你到底想做什么,但是当我在 Python 中使用 MySQL 时,我更喜欢使用字典数据结构。
cursor = cnx.cursor(dictionary=True)
然后您将得到字典形式的结果。如果你想将它作为字符串查看,只需执行 print str(dict)
import mysql.connector
cnx = mysql.connector.connect(user=self.username, password=self.password, host=self.host, database=self.database);
cursor = cnx.cursor(dictionary=True)
query = ("...")
cursor.execute(query)
result = cursor.fetchall()
print str(result)