csv文件查找工具(一)

在这里插入图片描述
自己写的小工具,查询csv文件前三列的数据互查,
主要目的是 组sql 需要这三个数据互查,
当然从数据库查的更快,
但数据库的连接需要验证权限,能自己搞,先自己搞
速度待优化,没时间搞了,两个同时运行。
使用的时候自己替换一下 2024年****.csv文件

写完检查,发现可以直接用excel筛选,excel查找找不到,得用excel筛选,糙。
在这里插入图片描述

import tkinter as tk
from tkinter import ttk, scrolledtext
import pandas as pdclass CSVQueryApp:def __init__(self, root):self.root = rootself.root.title("CSV查询工具")self.root.grid_propagate(False)  # 禁用grid的自适应大小# 设置窗口初始大小和位置initial_width = 800initial_height = 600screen_width = root.winfo_screenwidth()screen_height = root.winfo_screenheight()x_position = (screen_width - initial_width) // 2y_position = (screen_height - initial_height) // 2self.root.geometry(f"{initial_width}x{initial_height}+{x_position}+{y_position}")# 输入框self.entry_label = ttk.Label(root, text="输入查询数据:")self.entry_label.grid(row=0, column=0, padx=10, pady=10)self.entry_var = tk.StringVar()self.entry = ttk.Entry(root, textvariable=self.entry_var)self.entry.grid(row=0, column=1, padx=10, pady=10)# 查询按钮self.query_button = ttk.Button(root, text="查询", command=self.query_csv)self.query_button.grid(row=0, column=2, padx=10, pady=10)# 结果显示框self.result_text = scrolledtext.ScrolledText(root, wrap=tk.WORD)self.result_text.grid(row=1, column=0, columnspan=3, padx=10, pady=10, sticky="nsew")  # 使用sticky使其铺满空间# 配置窗口大小调整事件root.bind("<Configure>", self.on_window_resize)# 设置网格的调整权重root.columnconfigure(0, weight=1)root.columnconfigure(1, weight=1)root.columnconfigure(2, weight=1)root.rowconfigure(1, weight=1)def query_csv(self):# 从CSV文件中查询数据query_data = self.entry_var.get()if query_data:try:csv_data = pd.read_csv("2024年****.csv")  # 替换为你的CSV文件路径result = csv_data[csv_data.apply(lambda row: query_data in str(row), axis=1)]self.display_result(result.iloc[:, :3])  # 仅保留前三列数据except Exception as e:self.display_result(f"错误: {str(e)}")else:self.display_result("请输入查询数据")def display_result(self, result):self.result_text.delete(1.0, tk.END)  # 清空之前的结果if isinstance(result, pd.DataFrame):self.result_text.insert(tk.END, result.to_string(index=False))else:self.result_text.insert(tk.END, str(result))def on_window_resize(self, event):# 窗口大小调整事件处理new_width = event.width - 20  # 调整为合适的宽度,可以根据需要调整new_height = event.height - 100  # 调整为合适的高度,可以根据需要调整self.result_text.config(width=new_width, height=new_height)if __name__ == "__main__":root = tk.Tk()app = CSVQueryApp(root)root.mainloop()

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/342751.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

tiktok_浅谈hook ios之发包x-ss-stub

frida-trace ios手机一部&#xff0c;需要越狱的电脑一台idacrackerXI 目标app&#xff1a; ipa 包&#xff0c;点击前往 密码&#xff1a;8urs 协议分析起始从抓包开始&#xff0c;个人习惯 一般安卓逆向可以直接搜关键词&#xff0c;但是ios 都在 Mach-O binary (reverse…

微信小程序rsa加密

没有使用npm下载依赖的方式&#xff0c;直接引入了rsa.js文件&#xff0c;rsa.js文件在后面&#xff0c;目录结构如下&#xff1a; 在index.js文件引用 import { proxyInstance, backendUrl } from ../../util/request.js; import JSEncrypt from ./rsa.js const key -----BE…

AlexNet论文翻译与精读

1:该论文解决了什么问题&#xff1f; 图像分类问题 2&#xff1a;该论文的创新点&#xff1f; 1:使用了大的深的卷积神经网络进行图像分类&#xff1b; 2:采用了两块GPU进行分布式训练&#xff1b; 3:采用了Relu进行训练加速&#xff1b; 4:采用局部归一化提高模型泛化能…

启动Vue项目,报错:‘vue-cli-service‘ 不是内部或外部命令,也不是可运行的程序

前言&#xff1a; 最近在打开一个Vue项目的时候&#xff0c;打开之后输入命令行&#xff1a;npm run serve之后发现&#xff0c;报错&#xff1a;vue-cli-service 不是内部或外部命令&#xff0c;也不是可运行的程序&#xff0c;以下是解决方案&#xff1a; 报错图片截图&…

Springboot注解@EnableConfigurationProperties和@ConfigurationProperties关系和作用

目录 EnableConfigurationProperties和ConfigurationProperties关系是什么&#xff1f; 简介 ConfigurationProperties EnableConfigurationProperties 二者之间的联系 总结 EnableConfigurationProperties和ConfigurationProperties关系是什么&#xff1f; 其实我能明白…

MFC 记录字段交换(RFX)学习

MFC ODBC 数据库类可自动移动数据源与记录集对象之间的数据。 从 CRecordset 派生类且不使用批量取行时,数据将通过记录字段交换 (RFX) 机制进行传输。 如果已在派生的 CRecordset 类中实现批量取行,则此框架将使用批量记录字段交换(批量 RFX)机制来传输数据。 RFX 类似于…

抖音利用人工智能操控用户行为?商家、达人该乐了

文&#xff5c;新熔财经 作者&#xff5c;一城 字节跳动早期投资人陈伟星在社交平台上狂喷抖音&#xff0c;引发不小的震动。 “运用人工智能对用户进行操控&#xff0c;引导其行为&#xff0c;最终实现抖音自身的意图目标”、“控制人类意识&#xff0c;沉迷于意识形态的皇…

开源大数据集群部署(四)Freeipa部署(kerberos+ldap)

作者&#xff1a;櫰木 1、 FreeIPA介绍 Kerberos协议只是一种协议标准的框架&#xff0c;而MIT Kerberos则是实现了该协议的认证服务&#xff0c;是Kerberos的物理载体。将它与Hadoop服务进行集成便能够很好地解决安全性不足的问题。 除了需要安装MIT Kerberos之外&#xff0…

NLP论文阅读记录 - 05 | 2023 抽象总结与提取总结:实验回顾

文章目录 前言0、论文摘要一、Introduction1.1目标问题1.2相关的尝试1.3本文贡献 二.相关工作2.1 提取方法2.2 抽象方法2.3 数据集 三.本文方法四 实验效果4.1数据集4.2 对比模型4.3实施细节4.4评估指标4.5 实验结果4.6 细粒度分析 五 总结思考 前言 Abstractive vs. Extractiv…

vue前端开发自学,插槽练习,同时渲染父子组件的数据信息

vue前端开发自学,插槽练习,同时渲染父子组件的数据信息&#xff01; 如果想在slot插槽出口里面&#xff0c;同时渲染出来&#xff0c;来自父组件的数据&#xff0c;和子组件自身的数据呢。又有点绕口了。vue官方给的解决办法是。需要借助于&#xff0c;父组件的自定义属性。 …

STM32入门教程-2023版【3-4】总结GPIO使用方法

三、总结GPIO使用方法 总体上来说是比较简单的 首先初始化时钟&#xff0c;然后定义结构体&#xff0c;赋值结构体 GPIO_Mode可以选择那8种输入输出模式&#xff0c;GPIO_Pin选择引脚&#xff0c;可以用按位或的方式同时选中多个引脚,GPIO_Speed选择输出速度&#xff0c;最后使…

获取进行逗号分隔的id值 Split的使用

获取进行逗号分隔的id值,Split的使用 后台实现对有逗号进行分割的字符串 使用这行代码就不会有一个空数组值,直接过滤调数组中的空值 var ids = key.Split(,).Where(s => !string.IsNullOrEmpty(s