从 python 导入数据(where 条件的问题)
Import data from python (probleme with where condition)
我在Python工作
我有允许我导入工作正常的数据集的代码。但是,在我的数据集中,我有 3 名不同的患者,我只想导入我感兴趣的患者(可以通过在 SQL 查询中添加 WHERE 语句来实现。
所以下面的代码有效:
def importecdata():
query2 = "SELECT TECDATA.[Vol_Recalage_US_VD], TECDATA.[Vol_Recalage_Us_VG], TECDATA.[SUBJID] FROM TECDATA INNER JOIN MEDDATA ON TECDATA.DateTime = MEDDATA.DateTime WHERE TECDATA.[SUBJID]='patient14';"
dftec1 = pd.read_sql(query2, sql_conn, chunksize=100000)
dftec = pd.concat(dftec1)
return(dftec)
它return病人14条数据
但是现在我想把病人的名字作为一个变量放在我的函数中,所以我编写了以下代码:
def importecdata(patient):
query2 = "SELECT TECDATA.[Vol_Recalage_US_VD], TECDATA.[Vol_Recalage_Us_VG], TECDATA.[SUBJID] FROM TECDATA INNER JOIN MEDDATA ON TECDATA.DateTime = MEDDATA.DateTime WHERE TECDATA.[SUBJID]=patient;"
dftec1 = pd.read_sql(query2, sql_conn, chunksize=100000)
dftec = pd.concat(dftec1)
return(dftec)
我 chek 和 patient 变量得到值 patient14。但它不起作用...我尝试将变量 patient 的值修改为 'patient14' 它也不起作用我有同样的错误:
无效的列名 \xa0:'patient'。所以代码有效,问题出在患者变量
的“where”条件
(对不起我的英语我是法国人)
您必须在以下代码的查询字符串检查中添加您的患者值:
def importecdata(patient):
query2 = "SELECT TECDATA.[Vol_Recalage_US_VD], TECDATA.[Vol_Recalage_Us_VG], TECDATA.[SUBJID] FROM TECDATA INNER JOIN MEDDATA ON TECDATA.DateTime = MEDDATA.DateTime WHERE TECDATA.[SUBJID]='{0}';"
query2 = query2.format(patient)
dftec1 = pd.read_sql(query2, sql_conn, chunksize=100000)
dftec = pd.concat(dftec1)
return(dftec)
我在Python工作 我有允许我导入工作正常的数据集的代码。但是,在我的数据集中,我有 3 名不同的患者,我只想导入我感兴趣的患者(可以通过在 SQL 查询中添加 WHERE 语句来实现。 所以下面的代码有效:
def importecdata():
query2 = "SELECT TECDATA.[Vol_Recalage_US_VD], TECDATA.[Vol_Recalage_Us_VG], TECDATA.[SUBJID] FROM TECDATA INNER JOIN MEDDATA ON TECDATA.DateTime = MEDDATA.DateTime WHERE TECDATA.[SUBJID]='patient14';"
dftec1 = pd.read_sql(query2, sql_conn, chunksize=100000)
dftec = pd.concat(dftec1)
return(dftec)
它return病人14条数据 但是现在我想把病人的名字作为一个变量放在我的函数中,所以我编写了以下代码:
def importecdata(patient):
query2 = "SELECT TECDATA.[Vol_Recalage_US_VD], TECDATA.[Vol_Recalage_Us_VG], TECDATA.[SUBJID] FROM TECDATA INNER JOIN MEDDATA ON TECDATA.DateTime = MEDDATA.DateTime WHERE TECDATA.[SUBJID]=patient;"
dftec1 = pd.read_sql(query2, sql_conn, chunksize=100000)
dftec = pd.concat(dftec1)
return(dftec)
我 chek 和 patient 变量得到值 patient14。但它不起作用...我尝试将变量 patient 的值修改为 'patient14' 它也不起作用我有同样的错误: 无效的列名 \xa0:'patient'。所以代码有效,问题出在患者变量
的“where”条件(对不起我的英语我是法国人)
您必须在以下代码的查询字符串检查中添加您的患者值:
def importecdata(patient):
query2 = "SELECT TECDATA.[Vol_Recalage_US_VD], TECDATA.[Vol_Recalage_Us_VG], TECDATA.[SUBJID] FROM TECDATA INNER JOIN MEDDATA ON TECDATA.DateTime = MEDDATA.DateTime WHERE TECDATA.[SUBJID]='{0}';"
query2 = query2.format(patient)
dftec1 = pd.read_sql(query2, sql_conn, chunksize=100000)
dftec = pd.concat(dftec1)
return(dftec)