J'ai une requête Bigquery sur colab :
from google.colab import auth
auth.authenticate_user()
print('Authenticated')
project_id = '[your project ID]'
sample_count = 2000
df = pd.io.gbq.read_gbq('''
SELECT name, SUM(number) as count
FROM `bigquery-public-data.usa_names.usa_1910_2013`
WHERE state = 'TX'
AND year BETWEEN 1910 AND 1920
GROUP BY name
ORDER BY count DESC
LIMIT 100
''', project_id=project_id, dialect='standard')
df.head()
Cela fonctionne, mais j'essaie maintenant de passer un paramètre dans la requête et de remplacer '1920' dans la clause WHERE de la requête. Ce paramètre dépend d'un autre fichier.
end_year = max(record.year) # set end_year
df = pd.io.gbq.read_gbq('''
SELECT name, SUM(number) as count
FROM `bigquery-public-data.usa_names.usa_1910_2013`
WHERE state = 'TX'
AND year BETWEEN 1910 AND end_year
GROUP BY name
ORDER BY count DESC
LIMIT 100
''', project_id=project_id, dialect='standard')
df.head()
Mais je reçois une erreur :
BadRequest: 400 Syntax error: Unexpected identifier "end_year"
Je suppose que le paramètre ne passe pas dans la requête avec succès, mais je ne sais pas comment le réparer.