Pandas Фрейм данных не добавлен - PullRequest
0 голосов
/ 19 марта 2020

Я пытаюсь добавить кадры данных через l oop.

КОД

def redshift_to_pandas(sql_query,**kwargs):
# pass a sql query and return a pandas dataframe
 cur.execute(sql_query)
 columns_list = [desc[0] for desc in cur.description]
 data = pd.DataFrame(cur.fetchall(),columns=columns_list)
 return data

Ввод - all_schema = [('backup')]

L oop -

try:
 if len(all_schema) == 0:
  raise inputError("The Input has no schema selected. EXITING")
 else:
  modified_schemadf=pd.DataFrame(columns=['columns_name','status'])

  for i in range(len(all_schema)):
    #print (redshift_to_pandas("select '"+all_schema[i]+"' as columns_name,(select exists ( select distinct table_schema from information_schema.tables where table_schema like '%"+all_schema[i]+"')) as status",mechanism='append'))
    modified_schemadf.append(redshift_to_pandas("select '"+all_schema[i]+"' as columns_name,(select exists ( select distinct table_schema from information_schema.tables where table_schema like '%"+all_schema[i]+"')) as status",mechanism='append'))
    print (modified_schemadf)

except inputError as e:
   print(e.message)
   logger.error("UNEXPECTED INPUT FOUND, Please check the I/P List . EXITING")

print (modified_schemadf)

Я чувствую, что проблема очень очевидна, но, похоже, я не нахожу ее.

Вот o / p -

Result Picture

Итак, первый отпечаток (закомментированный) возвращает мне правильный результат. следующие шаги, то есть добавление результата к объявленному фрейму данных (name --ified_schemadf), являются проблемной областью. Когда я печатаю его значение, он все равно выбрасывает пустой фрейм данных. По какой-то причине добавление не происходит.

Когда код вводит else , т. Е. Когда введено значение le git, будет создан пустой фрейм данных с именемified_schemadf. К этому пустому фрейму данных будет добавлено столько же добавлений, сколько и входных данных.

Заранее спасибо.

Пожалуйста, не обращайте внимания на отступы, копирование могло повлиять на них.

1 Ответ

1 голос
/ 19 марта 2020

Разве проблема не в том, что вы не назначаете добавленный фрейм данных? Попробуйте изменить эту строку

modified_schemadf.append(redshift_to_pandas("select '"+all_schema[i]+"' as columns_name,(select exists ( select distinct table_schema from information_schema.tables where table_schema like '%"+all_schema[i]+"')) as status",mechanism='append'))

на эту строку

modified_schemadf = modified_schemadf.append(redshift_to_pandas("select '"+all_schema[i]+"' as columns_name,(select exists ( select distinct table_schema from information_schema.tables where table_schema like '%"+all_schema[i]+"')) as status",mechanism='append'))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...