优化上一篇的gui界面生成

复制代码
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()
相关推荐
2401_8685347819 分钟前
MATLAB:车牌识别
python·django
卷无止境20 分钟前
用 FastAPI 撑起大文件的上传下载:从流式处理到断点续传的完整实践
后端·python·fastapi
张龙6871 小时前
别再裸调大模型了:用 60 行 Python 给 LLM 调用加上「重试 + 超时 + 降级」
python
菜冻鱼1 小时前
Python-sklearn-评估指标
开发语言·人工智能·python·机器学习·numpy·pandas·sklearn
guyiICtestsocket1 小时前
国内支持定制的手机LPDDR芯片测试座工厂多种结构
人工智能·python·智能手机
for_ever_love__1 小时前
python基础语法学习: 变量, 输入输出, 运算符
网络·python·学习
努力搬砖的咸鱼1 小时前
AI Agent测试全景图:它到底改变了什么
人工智能·python·ai·集成测试·pytest·agent·ai编程
张小殊.2 小时前
LoongForge TAOT 训练方案,解决MoE EP不均衡问题
人工智能·python·深度学习·机器学习·ai
玫幽倩2 小时前
2026黄河流域公安院校-电子物证单项赛(程序逆向分析+服务器取证)
运维·服务器·python·电子取证·逆向·程序分析·服务器取证