点击上方蓝色字体,关注程序员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。
defauto_gen_excel(file_path, file_n=100):
ifnot
 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路径不存在的话,就创建这个路径。
ifnot
 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站上同步视频,点击最下的阅读原文可以看到。
继续阅读
阅读原文