我正在尝试将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创建数据库。感谢您的帮助!
答案 0 :(得分:-1)
您似乎在]
之后错过了结束括号('SBP'
)。
cur.execute('INSERT OR IGNORE INTO systolic (mask_id, ?) VALUES (?,?)', (row['VISITCODE'], row['MASKID'],row['SBP']))