如何使用列表中的列名创建SQLite3表?

时间:2016-08-04 12:06:05

标签: python sqlite

我将患者的每日血压数据存储在SQLite3表中。每个患者对应一行,每个日期对应一列。如何使用Python Pandas系列中的日期列名来初始化此表?也许是这样的事情:

DATE_LIST = pandas.date_range(start_date, end_date)
cursor.execute('''CREATE TABLE bloodpressure DATE_LIST REAL''')

以上将创建一个名为DATE_LIST的列的表,这不是我想要的。我想使用DATE_LIST中的日期作为列名。

1 个答案:

答案 0 :(得分:0)

您打破了数据库的1NF。考虑重组数据库以遵循正常形式。

简单来说,每一行应该是患者在某个日期的血压。

patient_id | bloodpressure | date
-----------+---------------+-----------
101        | 120/80        | 2016-08-04
101        | 130/84        | 2016-08-03  
102        | 150/90        | 2016-08-03

创建它的SQL语句可能类似于

CREATE TABLE bloodpressure (
    patient_id integer,
    bloodpressure text,
    date text,
    primary key(patient_id)
)