gpt4 book ai didi

python - 无法将 sqlite 查询放入单独的列表 python

转载 作者:行者123 更新时间:2023-11-30 22:44:27 24 4
gpt4 key购买 nike

我有 sqlite,我从这样的表中查询两列:

result_set = conn.execute("SELECT time, MeanCurrent from MEASUREMENTS")

然后,我想将每一列放入一个单独的列表中,到目前为止我正在做的是:

list1 = [record[0] for record in result_set]
list2 = [record[1] for record in result_set]

问题是,虽然 list1 完美地打印第一列,但 list2 显示为空,而如果我删除第一行,list2 也会完美地打印第二列!

所以,就像在执行第一行之后,我的查询发生了一些变化,但我不知道是什么。

有什么办法可以解决这个问题吗?

最佳答案

conn.execute() 返回一个游标对象。您不能多次迭代游标;当你到达末尾时,第二次迭代时不会再从头开始。要么首先将所有行加载到列表中,要么使用仅需要迭代一次的不同技术。

我会使用 zip() function配对列:

list1, list2 = zip(*result_set)

但您可以使用 results = list(result_set)results = result_set.fetchall() 首先将所有行具体化到列表中,或者您可以使用单个使用 list1.append()list2.append() 将列值添加到两个列表的循环。

关于python - 无法将 sqlite 查询放入单独的列表 python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41523900/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com