gpt4 book ai didi

python - 使用 sqlite 数据库中的值在 python 中创建文本文件

转载 作者:行者123 更新时间:2023-12-01 00:00:03 25 4
gpt4 key购买 nike

我正在尝试构建一个文本文件,它是预定义字符串和变量值的组合,我想从预先存在的 sqlite 数据库中获取这些值。文本文件每一行的一般格式如下:

约束n:值i<值j

其中n是一个整数,每行增加1。值 i 是在表 i 的 x 行、y 列处找到的值,值 j 是在表 j 的 x 行、y 列处找到的值。我需要迭代数据库中当前这些表的每个值。我的目标是使用嵌套的 while 循环来迭代表中的每个值,如下所示:

>>> while x < 30:
y = 1
while y < 30:
#code to populate text file goes here
n = n + 1
y = y + 1
x = x + 1

我在 python 方面的经验有限,但对任何建议持开放态度。任何人提供的任何意见都将非常感激。

非常感谢,新年快乐!

保罗

最佳答案

最简单的、未经优化的方法如下:

import sqlite3
conn = sqlite3.connect('whatever.file')
c = conn.cursor

out = open('results.txt', 'w')
n = 1

for x in range(1, 30):
for y in range(1, 30):
c.execute('select value from i where row=? and column=?', (x, y))
i = c.fetchone()[0]
c.execute('select value from j where row=? and column=?', (x, y))
j = c.fetchone()[0]
out.write('constraint %d: %s < %s\n' % (n, i, j))
n += 1

out.close()
conn.close()

这种方法的主要问题是它对 sqlite 使用 1682 个单独的查询,因此可能会有点慢。主要的优化是通过仅使用两个查询获取(例如)每个给定 x 的所有 ij 值来减少查询数量(通过在 y 上没有 where 条件并将 select value, column 作为 select 子条款)——无论您是否需要它取决于这种极其简单的方法的性能是否已经满足您的目的。

关于python - 使用 sqlite 数据库中的值在 python 中创建文本文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1986978/

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