В каждой переменной Queries
содержится SQL-запрос.Например DF_Articles = 'Select * from Article_Master'
.По этой причине часть pd.read_sql_query
моей функции работает.
Что не работает: я хочу создавать и хранить CSV-файлы с именем Query, каждый из которых содержит содержимое запроса.
Но когда я пытаюсь сохранить их (например, Query_csv.to_csv('SQL_data/{}.csv'.format(Query))
), тогда переменная Query
содержит весь запрос SQL, а не только имя (например, DF_Articles
).Есть ли обходной путь для этого или я просто не вижу очевидной вещи?
Queries = [DF_TripHeader, DF_Articles]
def get_data_from_sql():
if not os.path.exists('SQL_data'):
os.makedirs('SQL_data')
for Query in Queries:
if not os.path.exists('SQL_data/{}.csv'.format(Query)):
Query_DF = pd.read_sql_query(Query,Conn_SQL)
Query_DF.to_csv('SQL_data/{}.csv'.format(Query))
else:
print('Already downloaded {}'.format(Query))
get_data_from_sql()
РЕДАКТИРОВАТЬ: изменено в соответствии с handras и входом Doctorlove.это работает сейчас!
Queries = {"DF_TripHeader":DF_TripHeader,"DF_Articles":DF_Articles}
def get_data_from_sql():
if not os.path.exists('SQL_data'):
os.makedirs('SQL_data')
for name, Query in Queries.items():
if not os.path.exists('SQL_data/{}.csv'.format(name)):
Query_csv = pd.read_sql_query(Query,Conn_SQL)
Query_csv.to_csv('SQL_data/{}.csv'.format(name))
else:
print('Already downloaded {}'.format(name))
get_data_from_sql()`