利用Python制作本地Excel的查询与生成的程序

简介: 利用Python制作本地Excel的查询与生成的程序

利用Python制作本地Excel的查询与生成的程序

目录

前言

需求

实验步骤

Excel预览图片

查询

追加查询结果到Excel

完整代码

前言
大家好 我是毕加锁(锁!)

今天教大家利用Python制作本地Excel的查询与生成的程序

需求
制作一个程序 有一个简单的查询入口 实现Excel的查询与生成

实验步骤
1打开一个exe 弹出一个界面

2有一个查询 卡号 点击查询

3下方展示查询的结果 同时将这个查询的结果 追加到一个新的结果Excel文件里

4新的结果Excel文件 格式和源文件格式相同 但是每次都在最后追加

今天教大家利用Python制作本地Excel的查询与生成的程序
Excel预览图片
1.2 导入模块并读取Excel文件

等会要用的模块有:pandas、os、xlwt和uuid
用import导入的代码:

import pandas, os, xlwt, uuid
导入好后,就要读取Excel文件了。读取Excel要用到pandas的read_excel函数。

try:

exl = pandas.read_excel(aim_path)

except:

print('找不到文件!请检查一下文件路径或文件是否存在')
os._exit(0)

刚刚导入os模块就是为了做异常捕获找不到文件时的退出。

查询
2.1 Excel的索引与输入

为了方便后面查询,要把DataFrame的索引(index)设为查询输入的卡号。接着,输出以卡号为索引的DF,以便用户查询。最后,就开始循环输入了。

exl.set_index('卡号', inplace = True)
print(f'{exl}\n')
while 1:

try:
    idx = input('卡号(输入“退出”即可退出):')
    if idx == '退出':
        os._exit(0)

2.2 开始查询、丰富程序

查询用dataframe.loc[index]来完成,最后输出返回的Series。为了避免用户输入非卡号信息,就又加了异常捕获。

    res = exl.loc[idx]
    print(f'\n{res}\n')
except KeyError:
    print('你的卡号可能输错了!我找不到这个卡号的人哦~\n')
    continue
except:
    print('有些错误发生了!\n')
    continue

追加查询结果到Excel
3.1 读取或新建Excel

3.1.1 读取

读取跟上面一样,用read_excel

try:
    res_exl = pandas.read_excel(res_path)

3.1.2 新建Workbook和Sheet

现在轮到xlwt模块大展身手啦~ 用Workbook函数来新建Workbook;用add_sheet函数新增Sheet

except:
    workbook = xlwt.Workbook()
    sheet = workbook.add_sheet('new')
    col = 0

3.1.2 写入Column

在Column的位置,需要填入查询的Excel的列索引,用

list(pandas.read_excel(aim_path).columns.values)
可以获取到。然后把列索引以xlwt.write填进去,最后把DF保存再读取这个Excel。

for i in list(pandas.read_excel(aim_path).columns.values):

        sheet.write(0, col, i)
        col += 1
    workbook.save(res_path)
    res_exl = pandas.read_excel(res_path)

3.2 追加结果

首先,把结果res变量设置成列表类型。然后,在这个列表里面新增结果没有的卡号。最后把这个列表设置成一个Series(索引为查询的Excel的列索引)。

res_series_data = list(res)
res_series_data.insert(2, idx)
res_series = pandas.Series(
    res_series_data, 
    index = list(
        pandas.read_excel(aim_path).columns.values
    )
)

现在建好了Series,准备追加了。追加完后还要保存这个Excel。

res_exl.loc[str(uuid.uuid1())] = res_series
try:
    res_exl.to_excel(res_path, index = False)
except:
    print('写入失败')

这里用了uuid.uuid1来随机产生索引,避免重复而修改其它人的值。最后几行就是保存的操作,python index = False的意思就是把索引隐藏掉了。

完整代码
try:

exl = pandas.read_excel(aim_path)

except:

print('找不到文件!请检查一下文件路径或文件是否存在')
os._exit(0)

exl.set_index('卡号', inplace = True)
print(f'{exl}\n')
while 1:

try:
    idx = input('卡号(输入“退出”即可退出):')
    if idx == '退出':
        os._exit(0)
    res = exl.loc[idx]
    print(f'\n{res}\n')
except KeyError:
    print('你的卡号可能输错了!我找不到这个卡号的人哦~\n')
    continue
except:
    print('有些错误发生了!\n')
    continue

try:
    res_exl = pandas.read_excel(res_path)
except:
    workbook = xlwt.Workbook()
    sheet = workbook.add_sheet('new')
    col = 0
    for i in list(pandas.read_excel(aim_path).columns.values):
        sheet.write(0, col, i)
        col += 1
    workbook.save(res_path)
    res_exl = pandas.read_excel(res_path)
res_series_data = list(res)
res_series_data.insert(2, idx)
res_series = pandas.Series(
    res_series_data, 
    index = list(
        pandas.read_excel(aim_path).columns.values
    )
)
res_exl.loc[str(uuid.uuid1())] = res_series
try:
    res_exl.to_excel(res_path, index = False)
except:
    print('写入失败')
目录
相关文章
|
4月前
|
人工智能 Linux 开发工具
Python从零到一:手把手带你写出第一个实用程序
Python语法简洁易懂,适合编程新手入门。它广泛应用于人工智能、自动化办公、Web开发等领域。学习Python可快速搭建项目,拥有丰富库支持和强大社区资源。通过本教程,你将掌握基础语法、环境搭建、程序逻辑控制及实战项目开发,开启编程之旅。
526 0
|
2月前
|
人工智能 Java Linux
Python高效实现Excel转PDF:无Office依赖的轻量化方案
本文介绍无Office依赖的Python方案,利用Spire.XLS、python-office、Aspose.Cells等库实现Excel与PDF高效互转。支持跨平台部署、批量处理、格式精准控制,适用于服务器环境及自动化办公场景,提升转换效率与系统稳定性。
386 7
|
2月前
|
机器学习/深度学习 监控 数据挖掘
Python 高效清理 Excel 空白行列:从原理到实战
本文介绍如何使用Python的openpyxl库自动清理Excel中的空白行列。通过代码实现高效识别并删除无数据的行与列,解决文件臃肿、读取错误等问题,提升数据处理效率与准确性,适用于各类批量Excel清理任务。
384 0
|
3月前
|
设计模式 决策智能 Python
Python条件控制:让程序学会"思考"的魔法
本文深入浅出地讲解Python条件控制,从基础if语句到多分支、嵌套结构,再到简洁的三元表达式与Python 3.10新增的match-case模式匹配,结合电商折扣、会员等级、ATM系统等实战案例,全面掌握程序“智能决策”的核心逻辑。
422 0
|
5月前
|
开发工具 Python
使用Python和OpenAPI将云上的安全组规则填写入Excel
本文介绍如何通过Python脚本自动化获取阿里云安全组及其规则信息,并将结果导出为Excel表格。相比CLI命令行方式,Python实现更高效、便捷,适用于需要批量处理和交付的场景。
使用Python和OpenAPI将云上的安全组规则填写入Excel
|
7月前
|
人工智能 并行计算 开发者
CUDA重大更新:原生Python可直接编写高性能GPU程序
NVIDIA在2025年GTC大会上宣布CUDA并行计算平台正式支持原生Python编程,消除了Python开发者进入GPU加速领域的技术壁垒。这一突破通过重新设计CUDA开发模型,引入CUDA Core、cuPyNumeric、NVMath Python等核心组件,实现了Python与GPU加速的深度集成。开发者可直接用Python语法进行高性能并行计算,显著降低门槛,扩展CUDA生态,推动人工智能、科学计算等领域创新。此更新标志着CUDA向更包容的语言生态系统转型,未来还将支持Rust、Julia等语言。
548 3
CUDA重大更新:原生Python可直接编写高性能GPU程序
|
6月前
|
PyTorch 算法框架/工具 C++
人工智能算法python程序运行环境安装步骤整理
本教程详细介绍Python与AI开发环境的配置步骤,涵盖软件下载、VS2017安装、Anaconda配置、PyCharm设置及组件安装等内容,适用于Windows系统,助你快速搭建开发环境。
|
7月前
|
机器学习/深度学习 数据采集 数据可视化
Python数据分析,别再死磕Excel了!
Python数据分析,别再死磕Excel了!
321 2
|
6月前
|
机器学习/深度学习 前端开发 API
python3如何使用QT编写基础的对话框程序
Qt与Python结合形成了PyQt/PySide,为桌面应用开发提供强大支持。通过简单安装PyQt5或PySide6,开发者可快速搭建跨平台GUI应用。本文从创建基础对话框入手,介绍布局管理、信号与槽机制、对话框模式及样式表美化等核心功能,并探讨模态窗口、事件驱动编程和资源打包等内容。最后,引导读者探索模型视图架构、多线程处理等进阶技术,逐步掌握用Python+Qt开发高效桌面应用的技能。
206 0

热门文章

最新文章

推荐镜像

更多