我正在通过API进行点击和循环,以将各种数据收集到一个名为data
的变量中。如果我做print(data)
,我会得到以下内容:
('1111', 11, 'Test1', '2020-16-09', '123')
('2222', 22, 'Test2', '2020-16-09', '234')
('3333', 33, 'Test3', '2020-16-09', '345')
当我做print(type(data))
时,我得到以下内容:
<class 'tuple'>
<class 'tuple'>
<class 'tuple'>
我需要将这些元组放入一个元组中,每个元组用逗号分隔,看起来像下面这样。
(
('1111', 11, 'Test1', '2020-16-09', '123'),
('2222', 22, 'Test2', '2020-16-09', '234'),
('3333', 33, 'Test3', '2020-16-09', '345')
)
这允许我使用cursor.executemany
将数据导出到SQL中
假设您有一个函数api(x)
,它为您返回输入x
的元组,并且您知道需要查询的所有x
,它来自列表X=[x1, x2, ...]
,然后您可以通过以下方式获得元组的元组:
tuple_of_tuples = tuple(api(x) for x in X)
但在cursor.executemany()
的情况下,许多数据库库接受可迭代作为输入,在这种情况下,您可以使用生成器,这可以节省保存所有元组的内存:
generator_of_tuples = (api(x) for x in X)
感谢大家的帮助,在做了更多的挖掘之后,这就是我如何获得所需数据的方法。
jsondata = (multiple tuples) #my data from looping an API
if b == 0: #b is my loop through the API
finaldata = (jsondata,)
else:
finaldata = (jsondata,) + finaldata