有没有办法在数据库中使用列标题作为Python中的变量?

时间:2016-04-29 13:50:49

标签: python sqlite

我在前言这个说法我对python很新。

我有一个数据库,需要使用Python和SQLite访问它。这很容易。我创建了表名和列名等,例如:

c.execute("CREATE TABLE Tanks \
(ID INT PRIMARY KEY NOT NULL,\
...
DIR_Radius INT NOT NULL,\
DIR_Dish1 INT NOT NULL,\
DIR_Dish2 INT NOT NULL,\
DIR_Length INT NOT NULL,\

等等。所以我想要做的是使用列标题作为变量,即

Dish1 = 'DIR_Dish1'

但是你可能知道在python中只是将字符串值赋给变量名。

Dir_Dish1 > 0.001

不能正常工作

def Dish_Vol():
if (Dish > 0.0001):
    int1 = math.pi * Dish,
    ...

我正在尝试检查comlumn DIR_Dish1中的值是否具有大于0.001的整数值,以便我可以继续执行一些计算。我如何使用变量?

1 个答案:

答案 0 :(得分:1)

您将在表上运行SQL读取并遍历表:

for row in c.execute("SELECT DIR_Radius from Tanks"):
    if row[0]>0.0001:
        int1 = math.pi * row[0]
        ...

如果您尝试在表格中执行某些操作,然后根据您应用的操作修改现有列或创建新列,则最好使用pandas。 Pandas允许您从查询中创建数据框对象,进行一些处理(例如,创建新列或修改现有列),然后使用to_sql()将数据框对象写回SQL环境。