当前位置: 首页 > news >正文

Json A12 计算总和


# -*- coding: utf-8 -*-
import json
import tkinter as tk
from tkinter import filedialog, messagebox

def calculate_total():
try:
inputfile = file_entry.get()
if not inputfile:
messagebox.showerror("错误", "请先选择文件")
return

with open(inputfile, 'r', encoding='gbk') as f:
data = json.load(f)

        total_a12 = 0
for feature in data['features']:
a12_str = feature['attributes']['A12']
if a12_str:  # 确保A12不是空字符串
total_a12 += float(a12_str)

        result_label.config(text=f"A12字段的总和为: {total_a12}")
except Exception as e:
messagebox.showerror("错误", f"计算过程中出现错误:\n{str(e)}")

def browse_file():
filename = filedialog.askopenfilename(
title="选择JSON文件",
filetypes=(("JSON文件", "*.json"), ("文本文件", "*.txt"), ("所有文件", "*.*"))
)
if filename:
file_entry.delete(0, tk.END)
file_entry.insert(0, filename)

# 创建主窗口
root = tk.Tk()
root.title("A12字段总和计算器")
root.geometry("500x200")

# 文件选择部分
file_frame = tk.Frame(root)
file_frame.pack(pady=10)

tk.Label(file_frame, text="文件路径:").pack(side=tk.LEFT)
file_entry = tk.Entry(file_frame, width=40)
file_entry.pack(side=tk.LEFT, padx=5)

browse_button = tk.Button(file_frame, text="浏览...", command=browse_file)
browse_button.pack(side=tk.LEFT)

# 计算按钮
calc_button = tk.Button(root, text="计算总和", command=calculate_total)
calc_button.pack(pady=10)

# 结果显示
result_label = tk.Label(root, text="", font=('Arial', 12))
result_label.pack(pady=20)

# 运行主循环
root.mainloop()

http://www.dtcms.com/a/336865.html

相关文章:

  • Git版本控制与协作
  • 【秋招笔试】2025.08.16美团算法岗秋招机考真题
  • Cell Metab. (IF=30.9)|上海交大刘军力研究员团队:DLAT抑制亮氨酸分解驱动肿瘤发生
  • 朝花夕拾(七)--------从混淆矩阵到分类报告全面解析​
  • LeetCode 刷题【45. 跳跃游戏 II】
  • 云计算-云上实例部署 RocketChat:Mongodb、主从数据库、Node 环境配置指南
  • 生信分析自学攻略 | R软件和Rstudio的安装
  • 今日行情明日机会——20250818
  • 华为服务器设置bios中cpu为性能模式
  • week2-[循环结构]找出正数
  • element-plus:el-tree ref初始化异常记录
  • 【前端面试题】JavaScript 核心知识点解析(第一题到第三十题)
  • MQTT(轻量级消息中间件)基本使用指南
  • 套接字超时控制与服务器调度策略
  • JavaScript基础语法three
  • 时序数据库 Apache IoTDB:从边缘到云端Apache IoTDB 全链路数据管理能力、部署流程与安全特性解读
  • UTMatrix VS VideoLingo 到底哪个好?
  • 在openEuler系统中如何查看文件夹下每个文件的大小
  • 从零到GPT:Transformer如何引领大模型时代
  • 基于C语言实现的HRV分析方法 —— 与Kubios和MATLAB对比
  • 力扣70:爬楼梯
  • Java基础(九):Object核心类深度剖析
  • 【Linux指南】gcc/g++编译器:从源码到可执行文件的全流程解析
  • DELL服务器 R系列 IPMI的配置
  • Linux 编译器 gcc 与 g++
  • Linux磁盘阵列
  • 开源Verilog仿真即波形模拟工具iVerilog初步教程
  • 香港数据合集:建筑物、手机基站、POI、职住数据、用地类型
  • Java 中表示数据集的常用集合类
  • 【快速解决】Redis配置问题以及解决方法