在中使用Django将PostgreSQL数据库中的2D数组放入2D List Python

2024-07-05 15:21:59 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图从postgreSQL数据库中检索信息,一个特定的列,其中数据以2D数组格式存储

示例:

('user1', 'user2,'user3'),('user1', 'user2,'user3'),('user1', 'user2,'user3')

我使用django的数据库抽象接口将值提取到values_list

q = DBReports.objects.all().filter(name__contains = name1)  
q = (q.values_list(columnName))

然后将所有值放入一个values_list中,从中我需要从列表中的每个列表中提取两个值,例如user1user3,它们分别位于数组位置x,0,x,2,我无法确定列表中有多少个列表,因此我必须遍历长度

但是,我无法将values_list转换为2D列表,下面的代码不允许迭代

list((q.values_list(columnName)))

只返回一个长度,以及单个列表中的所有值。你知道吗

有没有一种方法可以充分提取这个2D列表并将其放入python中的2D列表中?你知道吗

打印的值如下(忽略程序中稍后使用的所有“”)

[("[('user1', 'user2', 'user3', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), ('user4', 'user5', 'user6', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), ('user1', 'user3', 'user6', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), ('user1', 'user2', 'user7', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), ('user1', 'user2', 'user2', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '')]",)]

Tags: 数据信息数据库示例列表postgresql格式数组
1条回答
网友
1楼 · 发布于 2024-07-05 15:21:59

你可以这样做

import ast
q = DBReports.objects.all().filter(name__contains = name1)  
q = (q.values_list(columnName))
users_list = ast.literal_eval(q[0][0])

检查用户列表值

print users_list
[('user1', 'user2', 'user3', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), ('user4', 'user5', 'user6', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), ('user1', 'user3', 'user6', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), ('user1', 'user2', 'user7', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''), ('user1', 'user2', 'user2', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '')]

这将启用用户列表上的迭代。你知道吗

请注意评估安全使用。有关更多详细信息,请阅读这里的docs。你知道吗

相关问题 更多 >