import pandas as pd
import json
import datetime
import os
import tkinter as tk
from tkinter import filedialog
def convert_to_excel():
now = datetime.datetime.now()
formatted_time = now.strftime("%Y-%m-%d_%H-%M-%S")
# Open file dialog for selecting a file
file_path = filedialog.askopenfilename(filetypes=[('Text files', '*.txt')])
# Check if a file was selected
if file_path:
# Read JSON data from the selected file with permissive error handling
with open(file_path, 'r', encoding='utf-8', errors='replace') as file:
json_data = json.load(file)
# Extract the 'data' part from JSON
data_list = json_data.get("data", [])
# Convert to DataFrame
df = pd.DataFrame(data_list)
# Save the DataFrame to an Excel file
output_file_path = f"{formatted_time}.xlsx"
df.to_excel(output_file_path, index=False)
# Display a success message
result_label.config(text=f"Conversion successful. File saved as {output_file_path}")
# Create the main application window
app = tk.Tk()
app.title("JSON to Excel Converter")
# Calculate the center coordinates for the window
screen_width = app.winfo_screenwidth()
screen_height = app.winfo_screenheight()
window_width = 400 # Adjust the width as needed
window_height = 150 # Adjust the height as needed
x_position = (screen_width - window_width) // 2
y_position = (screen_height - window_height) // 2
# Set the window geometry
app.geometry(f"{window_width}x{window_height}+{x_position}+{y_position}")
# Create a button for converting to Excel
convert_button = tk.Button(app, text="Convert to Excel", command=convert_to_excel)
convert_button.pack(pady=20)
# Create a label for displaying the result message
result_label = tk.Label(app, text="")
result_label.pack()
# Run the application loop
app.mainloop()
优化上一篇的gui界面生成
securitor2024-02-18 22:21
相关推荐
我的xiaodoujiao12 分钟前
使用 Python 语言 从 0 到 1 搭建完整 Web UI自动化测试学习系列 24--数据驱动--参数化处理 Excel 文件 1开心-开心急了27 分钟前
关于Flutter与Qt for python 的一些技术、开源、商用等问题@小码农1 小时前
2025年北京海淀区中小学生信息学竞赛第一赛段试题(附答案)Q_Q19632884751 小时前
python+django/flask基于机器学习的就业岗位推荐系统AI科技星2 小时前
张祥前统一场论动量公式P=m(C-V)误解解答海琴烟Sunshine2 小时前
leetcode 345. 反转字符串中的元音字母 pythonithicker3 小时前
Pycharm+Deepseek结合使用Continue插件无法返回中文产生乱码棉猴3 小时前
《pygame中Sprite类实现多帧动画》注-通过多张序列帧显示动画2-1权泽谦3 小时前
用 Python 做一个天气预报桌面小程序(附源码 + 打包与部署指导)“负拾捌”3 小时前
LangChain提示词模版 PromptTemplate