我正在使用psql数据库和python,我需要一种方法将记录数组的每个元素转换为附加到空列表的变量。如果可能的话,我还需要避免全局变量。总体目标是创建一个表名为的变量,并将该变量设置为列标题列表。我能够从数据库中提取一个包含表名的记录数组
tables= db.query2rec("""select table_name from information_schema.tables where table_schema = 'public';""")
db和query2rec用psycopg2的东西给我
tables= rec.array([('table1',), ('table2',), ('table3',), ('table4',), ('table5',)],
dtype=[('table_name', 'O')])
我要把它做成
table1 = []
table2 = []
table3 = []
table4 = []
table5 = []
然后,我可以使用第二个查询,用每个表的标题列表填充每个表。我最大的挑战是获取记录数组的元素作为变量名。我不知道该怎么做,尽管我花了几个小时研究了从酸洗、字典到for循环和全局变量的所有内容。谢谢!你知道吗
类似的问题已经存在: How do you create different variable names while in a loop?
在这种情况下,必须循环遍历元组数组:
为此,我使用了一个“numpy”数组,但也应该使用您的数组,这是我使用的代码:
输出为:
tables[i][0]部分用于访问元组的第一个元素,它是数组“i”位置的第一个元素
globals()是将其创建为全局变量,否则它将只是一个字符串,如果您使用表[i][0]之类的内容访问它,并将[]赋给它,则只会更改原始数组
相关问题 更多 >
编程相关推荐