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

Python与算法社区

共 1850字,需浏览 4分钟

 ·

2021-12-19 15:05

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


你好,我是 zhenguo
这是我的第492篇原创

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

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

班级1.xlsx内容:

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

项目环境

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

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

打开下面终端窗口,输入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(310)
        names = [fake.name() for _ in range(nn)]
        grades = [random.randint(50100for _ 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(50100for _ in range(nn)]

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

等遍历完成后,打印Done。

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

完整视频讲解

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


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


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

浏览 35
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报