Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 根据用户定义的输入在SQL中有条件地选择列_Python_Csv_Sqlite - Fatal编程技术网

Python 根据用户定义的输入在SQL中有条件地选择列

Python 根据用户定义的输入在SQL中有条件地选择列,python,csv,sqlite,Python,Csv,Sqlite,我正在尝试将CSV文件中的数据输入SQL数据库。CSV文件包含一个随时间推移为几个人记录的变量。这是我设置的表: cur.execute('''CREATE TABLE IF NOT EXISTS systolic (id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, mask_id TEXT UNIQUE, systolic_id INTEGER, rz INTEGER, one_mon

我正在尝试将CSV文件中的数据输入SQL数据库。CSV文件包含一个随时间推移为几个人记录的变量。这是我设置的表:

cur.execute('''CREATE TABLE IF NOT EXISTS systolic
        (id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
        mask_id TEXT UNIQUE,
        systolic_id INTEGER,
        rz INTEGER, one_mon INTEGER, two_mon INTEGER, three_mon INTEGER,
        six_mon INTEGER, seven_mon INTEGER, twelve_mon INTEGER, fifteen_mon INTEGER,
        eighteen_mon INTEGER, twentyone_mon INTEGER, twentyfour_mon INTEGER,
        twentyseven_mon INTEGER, thirty_mon INTEGER, thirtythree_mon INTEGER,
        thirtysix_mon INTEGER, thirtynine_mon INTEGER, fortytwo_mon INTEGER,
        fortyfive_mon INTEGER, fortyeight_mon INTEGER, fiftyone_mon INTEGER)
        ''')
我希望遍历CSV文件的行,并将这些行中的数据插入CSV文件中的特定列中。我希望这个程序从CSV文件中的一列中读取一个值,根据该行中的数据在SQL数据库中选择一个特定列,并将该行中的值插入该列。我编写了以下代码,但它不起作用。正确的方法是什么

cur.execute('INSERT OR IGNORE INTO systolic (mask_id, ?) VALUES (?,?)', (row['VISITCODE'], row['MASKID'],row['SBP'))

如您所见,我正在使用python创建数据库。谢谢你的帮助

看起来您在
'SBP'
之后缺少一个结束括号(
]

cur.execute('INSERT OR IGNORE-to-systolic(mask_id,?)值(?),(第['VISITCODE',第['MASKID',第['SBP'))行)