利用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('写入失败')
目录
相关文章
|
2月前
|
数据采集 数据可视化 数据挖掘
利用Python自动化处理Excel数据:从基础到进阶####
本文旨在为读者提供一个全面的指南,通过Python编程语言实现Excel数据的自动化处理。无论你是初学者还是有经验的开发者,本文都将帮助你掌握Pandas和openpyxl这两个强大的库,从而提升数据处理的效率和准确性。我们将从环境设置开始,逐步深入到数据读取、清洗、分析和可视化等各个环节,最终实现一个实际的自动化项目案例。 ####
296 10
|
2月前
|
存储 小程序 Python
农历节日倒计时:基于Python的公历与农历日期转换及节日查询小程序
### 农历节日倒计时:基于Python的公历与农历日期转换及节日查询小程序 该程序通过`lunardate`库实现公历与农历的日期转换,支持闰月和跨年处理,用户输入农历节日名称后,可准确计算距离该节日还有多少天。功能包括农历节日查询、倒计时计算等。欢迎使用! (239字符)
221 86
|
1月前
|
存储 NoSQL 数据库连接
在Python程序中实现LevelDB的海量key的分批次扫描
通过本文的步骤,您可以在Python程序中实现对LevelDB海量key的分批次扫描。这样不仅能够有效地管理大规模数据,还可以避免一次性加载过多数据到内存中,提高程序的性能和稳定性。希望这篇指南能为您的开发工作提供实用的帮助。
74 28
|
1月前
|
数据可视化 数据挖掘 大数据
1.1 学习Python操作Excel的必要性
学习Python操作Excel在当今数据驱动的商业环境中至关重要。Python能处理大规模数据集,突破Excel行数限制;提供丰富的库实现复杂数据分析和自动化任务,显著提高效率。掌握这项技能不仅能提升个人能力,还能为企业带来价值,减少人为错误,提高决策效率。推荐从基础语法、Excel操作库开始学习,逐步进阶到数据可视化和自动化报表系统。通过实际项目巩固知识,关注新技术,为职业发展奠定坚实基础。
|
2月前
|
安全 API C语言
Python程序的安全逆向(关于我的OPENAI的APIkey是如何被盗的)
本文介绍了如何使用C语言编写一个简单的文件加解密程序,并讨论了如何为编译后的软件添加图标。此外,文章还探讨了Python的.pyc、.pyd等文件的原理,以及如何生成和使用.pyd文件来增强代码的安全性。通过视频和教程,作者详细讲解了生成.pyd文件的过程,并分享了逆向分析.pyd文件的方法。最后,文章提到可以通过定制Python解释器来进一步保护源代码。
85 6
|
2月前
|
IDE 程序员 开发工具
Python编程入门:打造你的第一个程序
迈出编程的第一步,就像在未知的海洋中航行。本文是你启航的指南针,带你了解Python这门语言的魅力所在,并手把手教你构建第一个属于自己的程序。从安装环境到编写代码,我们将一步步走过这段旅程。准备好了吗?让我们开始吧!
|
2月前
|
Shell 开发工具 Python
如何在vim里直接运行python程序
如何在vim里直接运行python程序
|
3月前
|
开发者 Python
使用Python实现自动化邮件通知:当长时程序运行结束时
本文介绍了如何使用Python实现自动化邮件通知功能,当长时间运行的程序完成后自动发送邮件通知。主要内容包括:项目背景、设置SMTP服务、编写邮件发送函数、连接SMTP服务器、发送邮件及异常处理等步骤。通过这些步骤,可以有效提高工作效率,避免长时间等待程序结果。
114 9
|
3月前
|
存储 人工智能 数据挖掘
Python编程入门:打造你的第一个程序
本文旨在为初学者提供Python编程的初步指导,通过介绍Python语言的基础概念、开发环境的搭建以及一个简单的代码示例,帮助读者快速入门。文章将引导你理解编程思维,学会如何编写、运行和调试Python代码,从而开启编程之旅。
76 2
|
3月前
|
Python
在Python中,`try...except`语句用于捕获和处理程序运行时的异常
在Python中,`try...except`语句用于捕获和处理程序运行时的异常
90 5

热门文章

最新文章