打印cursor.fetchall() 的结果,不带尾随“L”

cur*_*smo 5 python mysql arrays fetchall mysql-python

我有一个 python 代码,通过 MySQLdb 访问 mysql 来运行 select 语句。然后,我将cursor.fetchall()输出收集为数组,但问题是它L在每个输出的末尾打印一个,如下所示:

sql = "SELECT data1, data2  FROM table1, table2 ;"
cursor.execute(sql)
dataarray = cursor.fetchall()
print dataarray

>>> ((75379L, 45708L), ...)
Run Code Online (Sandbox Code Playgroud)

但在我的表格中,没有 L,只有数字。我怎样才能确保它只获取并打印没有 L 的数据?我宁愿避免[:-1]在字符串上使用,因为这样它会将我的None值更改为Non.

Eug*_*ash 2

表示L整数long类型。在 Python 2 中,它自动用于太大而无法表示为普通整数的值。

MySQLdb似乎总是返回longs:

虽然 MySQL 的 INTEGER 列可以完美转换为 Python 整数,但 UNSIGNED INTEGER 可能会溢出,因此这些值会转换为 Python 长整数。

调用str()这些值应省略尾随'L'.