Importer données d'une base de données
Bonjour,
J'ai un code qui me permet d'importer un jeu de données qui fonctionne bien. Cependant dans mon jeu de données j'ai 3 patients différents et j'aimerais importer que le patient qui m'intéresse (possible en rajoutant l'instruction WHERE dans la requête SQL.
Du coup le code suivant fonctionne :
Il me retourne bien les données du patient 14
Et du coup je voulais mettre le nom du patient en variable dans ma fonction donc j'ai fait le code suivant :
Sachant que la variable patient récupère bien la valeur patient14 j'ai vérifié et ça ne fonctionne pas je comprends pas... j'ai essayé de modifier la valeur en 'patient14' avec les guillemets et j'ai toujours la même erreur :
Nom de colonne non valide\xa0: 'patient'
J'ai un code qui me permet d'importer un jeu de données qui fonctionne bien. Cependant dans mon jeu de données j'ai 3 patients différents et j'aimerais importer que le patient qui m'intéresse (possible en rajoutant l'instruction WHERE dans la requête SQL.
Du coup le code suivant fonctionne :
def importecdata():
query2 = "SELECT TECDATA.[Vol_Recalage_US_VD], TECDATA.[Vol_Recalage_Us_VG], TECDATA.[SUBJID], TECDATA.[DateTime], MEDDATA.[Cardiac Frequency] 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)
Il me retourne bien les données du patient 14
Et du coup je voulais mettre le nom du patient en variable dans ma fonction donc j'ai fait le code suivant :
def importecdata(patient):
query2 = "SELECT TECDATA.[Vol_Recalage_US_VD], TECDATA.[Vol_Recalage_Us_VG], TECDATA.[SUBJID], TECDATA.[DateTime], MEDDATA.[Cardiac Frequency] 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)
Sachant que la variable patient récupère bien la valeur patient14 j'ai vérifié et ça ne fonctionne pas je comprends pas... j'ai essayé de modifier la valeur en 'patient14' avec les guillemets et j'ai toujours la même erreur :
Nom de colonne non valide\xa0: 'patient'
Configuration: Windows / Firefox 87.0
1 réponse
-
Contributeur Ambassadeurbonjour,
je suggère que tu fassesprint(query2)
, je pense que cela t'aidera à comprendre.-
-
Contributeur Ambassadeur@nbl335as-tu essayé?
def importecdata(patient): query2 = "SELECT TECDATA.[Vol_Recalage_US_VD], TECDATA.[Vol_Recalage_Us_VG], TECDATA.[SUBJID], TECDATA.[DateTime], MEDDATA.[Cardiac Frequency] FROM TECDATA INNER JOIN MEDDATA ON TECDATA.DateTime = MEDDATA.DateTime WHERE TECDATA.[SUBJID]=patient;" print(query2) dftec1 = pd.read_sql(query2, sql_conn, chunksize=100000) dftec = pd.concat(dftec1) return(dftec)
-