У меня есть два списка: один содержит имена столбцов категориальных переменных , а другой числовой, как показано ниже.
cat_cols = ['stat','zip','turned_off','turned_on']
num_cols = ['acu_m1','acu_cnt_m1','acu_cnt_m2','acu_wifi_m2']
Это имена столбцов в таблице в Redshift.
Я хочу передать их как параметр для извлечения только числовых столбцов из таблицы в Redshift (PostgreSql) , записать это в csv
и закрыть csv
.
Далее я хочу вытащить только cat_cols
и открыть csv
, а затем добавить к нему и закрыть его.
мой запрос на данный момент:
#1.Pull num data:
seg = ['seg1','seg2']
sql_data = str(""" SELECT {num_cols} """ + """FROM public.""" + str(seg) + """ order by random() limit 50000 ;""")
df_data = pd.read_sql(sql_data, cnxn)
# Write to csv.
df_data.to_csv("df_sample.csv",index = False)
#2.Pull cat data:
sql_data = str(""" SELECT {cat_cols} """ + """FROM public.""" + str(seg) + """ order by random() limit 50000 ;""")
df_data = pd.read_sql(sql_data, cnxn)
# Append to df_seg.csv and close the connection to csv.
with open("df_sample.csv",'rw'):
## Append to the csv ##
Этов первый раз я пытаюсь сделать выборочные запросы на основе списков Python и, следовательно, застрял на том, как передать список в качестве имен столбцов для выбора из таблицы.
Может кто-нибудь, пожалуйста, помогите мне с этим?