栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

我的第一个Python实用项目,来了!

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

我的第一个Python实用项目,来了!

点击上方蓝色字体,关注程序员zhenguo


你好,我是 zhenguo

这是我的第492篇原创

从今天开始,与大家一起完成一些实用的小项目。

第一个是自动生成100个excel数据文件,下面是生成的文件和数据:

班级1.xlsx内容:

看到,生成的虽然是测试数据,但是使用faker库生成的数据,看起来又那么”真实”。

项目环境

首先,打开pycharm,新建一个py模块,起名为p1_auto_excel。

其次,安装项目需要的第三方包,主要是faker和pandas,安装也很简单。

打开下面终端窗口,输入pip install faker;等安装完成后,再输入pip install pandas:

若还提示找不到某个包,只需执行同样的命令pip install 找不到的包,就行。

逐行代码讲解

下面开始看代码,fake这一行配置输出的中文例子,这个大家要记住。

"""
作者:程序员zhenguo
公众号、视频号、抖音同名:程序员zhenguo
个人网站:www.zglg.work
功能:自动生成100个测试文件
"""
import os
import random
from faker import Faker
import pandas as pd

fake = Faker("zh_CN")

然后定义了一个函数

auto_gen_excel,

用来批量生成excel数据文件。

后面的参数file_path是文件路径,第二个参数是生成的excel文件个数,默认是100个excel。

def auto_gen_excel(file_path, file_n=100):
    if not os.path.exists(file_path):
        os.mkdir(file_path)
    for i in range(file_n):
        nn = random.randint(3, 10)
        names = [fake.name() for _ in range(nn)]
        grades = [random.randint(50, 100) for _ in range(nn)]
        d = {'姓名': names, '考试分数': grades}
        file = os.path.join(file_path, f'班级{i + 1}.xlsx')
        pd.Dataframe(d).to_excel(file, index=False)
    print("Done")

下面这行代码是判断如果file_path路径不存在的话,就创建这个路径。

if not os.path.exists(file_path):
        os.mkdir(file_path)

遍历创建file_n个excel文件,循环体里,生成一个[3,10]大小的随机数,它是每个excel文件的行数,nn是5,就代表有5条数据

接下来使用列表生成式,结合faker库,依次创建nn个名字,nn个分数,这里的下划线表示我们不用到这个变量,一般的习惯写法。

names = [fake.name() for _ in range(nn)]
grades = [random.randint(50, 100) for _ in range(nn)]

接下来,再建立列和数据的映射,得到字典d,每个excel文件的命名规则是班级+编号,然后再和输入的路径file_path拼接起来,最后使用这么一行代码,就能保存到excel文件中,pandas操纵excel起来很方便。

等遍历完成后,打印Done。

好了,这就是我写的一个自动创建100个excel测试数据的代码,若有其他方法大家也可以留言讨论,最后点个赞支持下吧,这样我更有动力做好下一个。

完整视频讲解

我录制视频,并发布到视频号,点击观看:


上面完整py代码文件,在我的公众号后台回复:c,即可下载,同时后面的项目代码文件,我也会同步到这个文件夹中,下载方式也是回复c

长按关注,回复c

如果你喜欢在B站上学习,我也在B站上同步了此视频,点击最下的阅读原文可以看到。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/674469.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号