Czy istnieją przykłady przekazywania parametrów za pomocą zapytania SQL w Pandach?Pandy read_sql z parametrami
W szczególności używam silnika SQLAlchemy do łączenia się z bazą danych PostgreSQL. Do tej pory znalazłem, że następujące utwory:
df = psql.read_sql(('select "Timestamp","Value" from "MyTable" '
'where "Timestamp" BETWEEN %s AND %s'),
db,params=[datetime(2014,6,24,16,0),datetime(2014,6,24,17,0)],
index_col=['Timestamp'])
Dokumentacja Pandy mówi, że params może być również przekazywane jako dict, ale nie wydaje się uzyskać to do pracy próbowałem na przykład:
df = psql.read_sql(('select "Timestamp","Value" from "MyTable" '
'where "Timestamp" BETWEEN :dstart AND :dfinish'),
db,params={"dstart":datetime(2014,6,24,16,0),"dfinish":datetime(2014,6,24,17,0)},
index_col=['Timestamp'])
Jaki jest zalecany sposób uruchamiania tego typu zapytań z Pand?
To bardzo pomocne - używam psycopg2, więc składnia '% (nazwa) działa idealnie. – tobycoleman
Prawdopodobnie wspomnimy o tym w docstringu: https: //github.com/pydata/pandas/issues/7573 – joris
To rozwiązanie nie działa już na PostgreSzu - należy użyć ': notation', a następnie upewnić się zawijać ciąg SQL za pomocą 'sqlalchemy.text()' – hamx0r