Запрос панд с помощью SQL, а не возврат нового кадра данныхPython

Программы на Python
Anonymous
Запрос панд с помощью SQL, а не возврат нового кадра данных

Сообщение Anonymous »

Я пытаюсь создать небольшое приложение, которое загружает файлы CSV и паркета в фрейм данных pandas и позволяет мне запрашивать их с помощью SQL и создавать графики с помощью matplot. Однако всякий раз, когда я запрашиваю его, он не возвращает новый кадр данных. И если я удалю оператор if data is none из функции display_data, я получу ошибку:

AttributeError: у объекта 'NoneType' нет атрибута 'columns'

def display_data(dataf):
if dataf is None:
return
tree.delete(*tree.get_children())
tree["columns"] = list(dataf.columns)
tree["show"] = "headings"

for col in dataf.columns:
tree.heading(col, text=col)
tree.column(col, width=150)

for _, row in dataf.iterrows():
tree.insert('', 'end', values=list(row))

def filter_data(sql_input):
global df
df2 = sqldf(sql_input)
display_data(df2)
return df2

entry_value = tk.Entry(frame_filter, width=20)
entry_value.grid(row=0, column=1, padx=5)
#entry_value.insert(0, "Value")
sql = entry_value.get()

btn_filter = tk.Button(frame_filter, text="Filter", command=filter_data(sql))
#btn_filter.pack(pady=10)
btn_filter.grid(row=0, column=2, padx=5)

Вернуться в «Python»