Chr*_*ina 5 python sqlite fetch
我想知道如何同时获取超过 1 列。这是我到目前为止的代码,但我收到错误:
ValueError: too many values to unpack (expected 2)
con = sqlite3.connect('database.db')
cur = con.cursor()
cur.execute("SELECT name, age FROM employees")
name, age = cur.fetchall()
Run Code Online (Sandbox Code Playgroud)
实际上是否可以同时获取超过 1 列?谢谢!
cur.fetchall()为您提供一个(name, age)元组列表,其数量与表中的行数一样多employees。您包含的不仅仅是两行,因此您的name, age = ...语法失败,因为这需要有两个结果。即使只有两行,您也会将这两行(每行一个元组)分配给名称name,age这可能不是您想要的。
您可能想迭代光标;这使您可以单独处理每个行元组,包括将两列值分配给两个单独的目标:
for name, age in cur:
# process each name and age separately
Run Code Online (Sandbox Code Playgroud)
或者将cur.fetchall()结果分配给单个变量:
results = cur.fetchall()
Run Code Online (Sandbox Code Playgroud)
并根据需要处理该列表。
| 归档时间: |
|
| 查看次数: |
11887 次 |
| 最近记录: |