如何将数据帧转换为json并使用tkinter GUI保存



我正在编写一个GUI应用程序,该应用程序加载csv文件,对其进行清理,然后将其保存为同一目录中的JSON文件转储。。。我被卡住了,请帮帮我。。。我已经创建了两个按钮,一个用于处理文件加载,另一个用于编写JSON,我知道我可以使用一个按钮来实现这一点,但不知道如何保存文件,因此它与csv文件显示在同一目录中。到目前为止我的程序:

def load_frequency_data():
global df, df_rows
file_path = label_file['text']
try:
csv_filename = r'{}'.format(file_path)
df = pd.read_csv(csv_filename, delimiter=',')
df.rename(columns={'airport_ident': 'ident'}, inplace=True)
df = df[['ident', 'frequency_mhz']]
clear_frequency_data()
my_tree['columns'] = list(df.columns)
my_tree['show'] = 'headings'
for column in my_tree['columns']:
my_tree.heading(column, text=column)
df_rows = df.to_numpy().tolist()
for row in df_rows:
my_tree.insert('', 'end', values=row)
return None
except ValueError:
tkinter.messagebox.showerror('Information', 'File is invalid')
return None
except FileNotFoundError:
tkinter.messagebox.showerror('Information', "File not found")

我的第二个按钮代码:

def save_tojson():
if messagebox.askyesno('Confirmation', 'Are you sure you want to save data as json file?'):
data = df.to_json(orient='split', indent=3)

我正在尝试使用转换后的csv文件(df(保存为JSON文件。

您可以指定pandas.DataFrame.to_jsonpath_or_buf参数来确定导出路径:

from pathlib import Path

def save_tojson():
file_path = Path(label_file['text'])
if messagebox.askyesno('Confirmation', 'Are you sure you want to save data as json file?'):
df.to_json(file_path.with_suffix('.csv'), orient='split', indent=3)

相关内容

  • 没有找到相关文章

最新更新