我的第一个Python实用项目,来了!
共 1850字,需浏览 4分钟
·
2021-12-19 15:05
点击上方蓝色字体,关注程序员zhenguo
从今天开始,与大家一起完成一些实用的小项目。
第一个是自动生成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测试数据的代码,若有其他方法大家也可以留言讨论,最后点个赞支持下吧,这样我更有动力做好下一个。
完整视频讲解
我录制视频,并发布到视频号,点击观看:
如果你喜欢在B站上学习,我也在B站上同步了此视频,点击最下的阅读原文可以看到。