sqlite 遍历表格并按特定的列顺序打印

xytpbqjk  于 2022-11-14  发布在  SQLite
关注(0)|答案(1)|浏览(196)

我有一个包含titlereleasesynopsis等字段的视频表。我想循环遍历每一行,并按特定顺序打印列:

con = sqlite3.connect("videos.db")
cur = con.cursor()

videos = "SELECT * FROM videos"

for videos in cur.execute('SELECT * FROM videos;'):
    print("title:",videos[2])
    print("release:",videos[3])
    print("description:",videos[4])
    print("-" * 10)

但这是不正确的,因为:
1.我需要查看打印了哪些列,而不是记住索引号,因为随着我更新表,它们可能会发生变化
1.我认为元组不是正确的输出。
预期结果:

title: video 1
release: 2022-01-01
description: video 1 description
---------
title: video 2
release: 2022-01-02
description: video 2 description
---------

最终目标是将每个文件导出为单独的XML文件。

r7knjye2

r7knjye21#

据我所知,返回的是数组的第一个元素,因此在您的示例中,videos包含您的SQL请求返回的列的列表。
下面是你可以做的事情:

videos = cur.execute('SELECT * FROM videos;')

# Get the index of the columns
title_index = videos[0].index("title");
release_index = videos[0].index("release");
description_index = videos[0].index("description_index");

for video in videos:
    # And use those indexes to get the data
    print("title:",videos[title_index])
    print("release:",videos[release_index])
    print("description:",videos[description_index])
    print("-" * 10)

相关问题