使用 python returns 读取 MYSQL Db 我需要将其转换为列表的元组
Reading MYSQL Db using python returns me a tuple which i need to convert to list
将 python 连接到 MySQL Db 后,我 运行 使用 group_concat 和分组依据从 MySQL 中提取数据的查询,然后我fetchall。
输出如下所示:
[('Fun,Wonderful,Good,Salty',)]
但我希望它看起来像这样:
['Fun','Wonderful','Good','Salty']
Fetchall 似乎正在返回某种元组,这很烦人,因为我需要它作为要在 python 中使用的列表。我尝试使用列表理解将逗号 (,) 替换为 quote&comma"e (',') 但它改为:
["Fun','Wonderful','Good','Salty"]
它将开始和结束引号更改为与我要替换的相反。我怎样才能得到我想要的?
为什么group concat不能立即输出:
['Fun','Wonderful','Good','Salty']
而是输出一些列表元组排序,这需要我转换为列表
您使用 group_concat
指示 MySQL 到 return 组的值作为一个结果字段中的逗号分隔字符串。 Python 无法知道您需要将字符串再次拆分为单独的字段。
fetchall()
的 return 值被定义为按照 DB API 2.0 specification in PEP 249 的一系列序列。将查询结果表示为元组列表是普遍接受的做法。
如果您只想查看结果的一个元素,可以使用 fetchone()
,这将 return 单个序列,但它可能是一个元组,具体取决于您使用的驱动程序。
如果您需要该字符串作为 Python 中的列表,您可以使用它获得一个,例如:
[('Fun,Wonderful,Good,Salty',)][0][0].split(',')
# ['Fun', 'Wonderful', 'Good', 'Salty']
将 python 连接到 MySQL Db 后,我 运行 使用 group_concat 和分组依据从 MySQL 中提取数据的查询,然后我fetchall。
输出如下所示:
[('Fun,Wonderful,Good,Salty',)]
但我希望它看起来像这样:
['Fun','Wonderful','Good','Salty']
Fetchall 似乎正在返回某种元组,这很烦人,因为我需要它作为要在 python 中使用的列表。我尝试使用列表理解将逗号 (,) 替换为 quote&comma"e (',') 但它改为:
["Fun','Wonderful','Good','Salty"]
它将开始和结束引号更改为与我要替换的相反。我怎样才能得到我想要的?
为什么group concat不能立即输出:
['Fun','Wonderful','Good','Salty']
而是输出一些列表元组排序,这需要我转换为列表
您使用 group_concat
指示 MySQL 到 return 组的值作为一个结果字段中的逗号分隔字符串。 Python 无法知道您需要将字符串再次拆分为单独的字段。
fetchall()
的 return 值被定义为按照 DB API 2.0 specification in PEP 249 的一系列序列。将查询结果表示为元组列表是普遍接受的做法。
如果您只想查看结果的一个元素,可以使用 fetchone()
,这将 return 单个序列,但它可能是一个元组,具体取决于您使用的驱动程序。
如果您需要该字符串作为 Python 中的列表,您可以使用它获得一个,例如:
[('Fun,Wonderful,Good,Salty',)][0][0].split(',')
# ['Fun', 'Wonderful', 'Good', 'Salty']