У меня есть база данных в виде CSV-файла с заголовками, состоящими из нескольких слов.
Я загружаю его с pandas как есть в моей базе данных.
Теперь мне нужно получить эти данные из SQL. Как это сделать?
import sqlalchemy
from sqlalchemy.sql import select
import pandas
engine = sqlalchemy.create_engine('sqlite:///test.sqlite', connect_args={'check_same_thread': False}, echo=True)
metadata = sqlalchemy.MetaData()
### creation of SQL table
chunks = pandas.read_csv('D:\Py\EPT_3G.csv', chunksize=10000, encoding="cp1252")
for chunk in chunks:
chunk.to_sql(name='Table_name', if_exists="append", con=engine)
table_for_query = sqlalchemy.Table('Table_name', metadata, autoload=True, autoload_with=engine, check_same_thread=False)
### data retrieving
business_name = 'Business name' ### name of the uploaded column
s = select([table_for_query]).where(table_for_query.c.business_name == str(29_0017))
connection = engine.connect()
result = connection.execute(s)
print(result)
Traceback (most recent call last):
File "C:\Users\VVV\AppData\Local\Programs\Python\Python38-32\lib\site-packages\sqlalchemy\util\_collections.py", line 210, in __getattr__
return self._data[key]
KeyError: 'business_name'