邯郸贴吧网站,零食类营销网站怎么做,电脑培训学校哪家好,河南营销型网站建设背景
最近发现打开电脑的excel很慢#xff0c;而且使用到的场景很少#xff0c;也因为mac自带了预览的功能。但是shigen就是闲不住#xff0c;想自己搞一个excel预览软件#xff0c;于是在一番技术选型之后#xff0c;我决定使用python在控制台显示excel的内容。 具体的需…背景
最近发现打开电脑的excel很慢而且使用到的场景很少也因为mac自带了预览的功能。但是shigen就是闲不住想自己搞一个excel预览软件于是在一番技术选型之后我决定使用python在控制台显示excel的内容。 具体的需要的功能有
查看excel的某一行信息查看某个范围的信息信息的区间为[start,end]如果以上的行、起始行、结束行这几个参数都没有传递就分页展示
于是带着这样的设计我开始了折腾。 技术选型 python faker pandas rich argparse 参数列表:
-f 文件的绝对路径/相对路径-s 起始列-e 结束列-r 查看的行
生成假数据
还记得之前的faker教程吗这次派上用场了我打算用faker模拟生成假数据然后用pandas写入到excel里边。 首先我定义了一个user类它的属性有ID名字、密码、昵称、电话、简介、头像地址、创建时间和更新时间。 我们先来看一下模拟生成的一条数据的效果
from faker import Faker# 创建Faker对象
fake Faker(zh_CN)class User:def __init__(self):self.id fake.random_int(min1, max1000)self.name fake.name()self.password fake.password()self.nickname fake.user_name()self.phone fake.phone_number()self.introduction fake.text(max_nb_chars200)self.avatar_url fake.image_url(widthNone, heightNone)self.created_at fake.date_time_this_decade().strftime(%Y-%m-%d %H:%M:%S)self.updated_at fake.date_time_this_month().strftime(%Y-%m-%d %H:%M:%S)# 创建一个用户实例
user User()# 打印用户属性
print(ID:, user.id)
print(姓名:, user.name)
print(密码:, user.password)
print(昵称:, user.nickname)
print(电话:, user.phone)
print(自我介绍:, user.introduction)
print(头像地址:, user.avatar_url)
print(创建时间:, user.created_at)
print(更新时间:, user.updated_at)
ID: 51
姓名: 陈健
密码: XGfngbT3
昵称: juan96
电话: 18827668763
自我介绍: 日本本站一个深圳.设备感觉只有以上能力特别.不同您的建设报告.
国家都是个人什么地方这种国家参加.他们进行加入汽车个人最大方式.一点以上数据生活主要.
两个一般其他对于那么新闻.一下准备喜欢只要作品经济.注册最新更多制作名称还有社会.
自己没有能力组织不能一定.责任准备市场以后最新单位虽然.信息没有谢谢表示.
控制重要标准的是之间.本站世界以上如何成为得到.
头像地址: https://picsum.photos/541/475
创建时间: 2022-04-10 14:00:10
更新时间: 2023-08-11 00:05:08怎么样数据是不是很好看。自诩一下可以用来生成业务测试需要的基础数据。 下边是生成120条假数据。 # 生成120条用户数据
users [User() for _ in range(120)]现在数据生成好了就需要我们将数据导入到excel里边。 首先需要构建dataFrame对象直接写入到users.xlsx里边不得不说df.to_excel是真的很好用
import pandas as pd# 将用户数据转换为DataFrame
data {ID: [user.id for user in users],姓名: [user.name for user in users],密码: [user.password for user in users],昵称: [user.nickname for user in users],电话: [user.phone for user in users],自我介绍: [user.introduction for user in users],头像地址: [user.avatar_url for user in users],创建时间: [user.created_at for user in users],更新时间: [user.updated_at for user in users]
}
df pd.DataFrame(data)# 保存DataFrame为Excel文件
filename users.xlsx
df.to_excel(filename, indexFalse)print(f数据已保存到文件{filename})数据已保存到文件users.xlsx输出了这样的内容就代表excel写入成功了。现在就有了excel的测试数据了。
书写代码
现在数据已经有了可以用来测试了。此处省略掉shigen调试的漫长过程只展示代码的截图需要源代码的伙伴可以私聊我哈。 效果验证
现在我们的编码过程已经实现了需要来验证一下功能了。
获得代码的帮助
(base) ~ $ excel -h
usage: excel_reader.py [-h] [-f file] [-r ROW] [-s START] [-e END] [-p PAGESIZE]在控制台查看 Excel 文件的内容optional arguments:-h, --help show this help message and exit-f file, --file_path fileExcel 文件路径-r ROW, --row ROW 第几行-s START, --start START起始行-e END, --end END 结束行-p PAGESIZE, --pagesize PAGESIZE每页显示的行数获得第10行
excel -f ~/temp/python/推文文章/users.xlsx -r 10获得10-12行的内容
内容有点多仅展示两条看看效果
excel -f ~/temp/python/推文文章/users.xlsx -s 10 -e 12分页显示
这也是这个功能的重头戏直接分页显示不需要其它的额外参数
excel -f ~/temp/python/推文文章/users.xlsx看到了提示吗输入命令(n-下一页, p-上一页, q-退出)我们来试试。 这就是下一页的实现了。q直接退出我就不再演示了。
后记
这就是shigen花了两小时做出来的直接在终端读取excel内容的功能期待能实实在在地提升日常的效率。同时代码也存在一些性能可以优化的但是目前的知识技能有限只能先做成这样的了。 我也越发的相信学技术先广度再深度这个观点了广度让我有了足够高的角度来看清楚问题的本质接着技术选型和实现深度让我挖掘其中的底层原理不断的优化程序的性能。 以上就是shigen的分享了期待你的参与和交流。 与shigen一起每天不一样。