如何在for循环中将python变量作为sqlite列名传递
看起来有人问过类似的问题,但我没有找到答案 城市列表中的城市在数据库中具有相应的列名。我试图用pyowm找到一个特定城市的压力,然后将该值插入到相应的列中 错误是没有名为“city”的列。我知道问题出在哪里,但不知道如何解决。非常感谢您的帮助如何在for循环中将python变量作为sqlite列名传递,python,sqlite,Python,Sqlite,看起来有人问过类似的问题,但我没有找到答案 城市列表中的城市在数据库中具有相应的列名。我试图用pyowm找到一个特定城市的压力,然后将该值插入到相应的列中 错误是没有名为“city”的列。我知道问题出在哪里,但不知道如何解决。非常感谢您的帮助 import pyowm import sqlite3 conn = sqlite3.connect(r"C:\Users\Hanley Smith\Desktop\machinelearning\pressure_table.db") cursor =
import pyowm
import sqlite3
conn = sqlite3.connect(r"C:\Users\Hanley Smith\Desktop\machinelearning\pressure_table.db")
cursor = conn.cursor()
owm = pyowm.OWM('eb68e3b0c908251771e67882d7a8ddff')
cities = ["tokyo", "jakarta"]
for city in cities:
weather = owm.weather_at_place(city).get_weather()
pressure = weather.get_pressure()['press']
cursor.execute("INSERT INTO PRESSURE (city) values (?)", (pressure,))
conn.commit()
将变量名与字符串连接起来,如下所示
cursor.execute("INSERT INTO PRESSURE (" + city + ") values (?)", (pressure,))
或者使用%s
cursor.execute("INSERT INTO PRESSURE (%s) values (?)" % (city), (pressure,))
您只是想使用变量作为列名还是值?@StevenByrne列名的变量应该是“城市”列表中的“城市”。该值的变量应为for循环中定义的“压力”