
点击上方蓝字(小样有样儿)关注我

背景及需求
某剧组在拍摄一部反映都市白领生活的电视剧,女一号Linda在一家公司做销售工作。
这天,她在公司整理客户数据,加班到很晚,有一个镜头需要拍摄她使用电脑整理客户资料的画面。
道具组负责这个客户资料表格的制作,由于影视作品是面向公众的,不能展示真实的用户资料,
现在需要道具组产出一个假的数据表格。
代码
import pandas as pd
import faker
# 创建随机客户信息表
f = faker.Faker(locale="zh-cn") # 第一句
df = pd.DataFrame({"客户姓名":[f.name() for i in range(5)], # 第二句
"年龄":[f.random_int(22,45) for i in range(5)],# 第三句
"联系电话":[f.phone_number() for i in range(5)],# 第四句
"最后去电时间":[f.date_between(start_date="-1y", end_date="today")
.strftime("%Y年%m月%d日") for i in range(5)],# 第五句
"意向":[f.random_element(("有","无")) for i in range(5)],# 第六句
"地址":[f.address() for i in range(5)] # 第七句
})df.to_excel("客户信息表.xlsx") # 第八句
代码解释
使用的模块:pandas、faker
第一句:
f = faker.Faker(locale="zh-cn")
参数locale为生成数据的文化选项,默认为en_US,只有使用了相关文化,才能生成相对应的随机信息(比如:名字,地址,邮编,城市,省份等)。第二句:
df = pd.DataFrame({"客户姓名":[f.name() for i in range(5)],
使用pandas创建一个数据表,{}内容为创建一个字典,键值对为列名:每列随机生成的内容列表,fake.name()随机生成姓名列表,for i in range 5,随机生成五行数据。第三句:
"年龄":[f.random_int(22,45) for i in range(5)],
fake.random_int()年龄产生于22-44之间的随机整数。第四句:
"联系电话":[f.phone_number() for i in range(5)],
fake.phone_number()随机产生手机号。第五句:
"最后去电时间":[f.date_between(start_date="-1y", end_date="today") .strftime("%Y年%m月%d日") for i in range(5)],
随机产生近一年内的日期并格式化为xxxx年x月x日。python中时间日期格式化符号:
%y 两位数的年份表示(00-99)
%Y 四位数的年份表示(000-9999)
%m 月份(01-12)
%d 月内中的一天(0-31)
%H 24小时制小时数(0-23)
%I 12小时制小时数(01-12)
%M 分钟数(00=59)
%S 秒(00-59)
%a 本地简化星期名称
%A 本地完整星期名称
%b 本地简化的月份名称
%B 本地完整的月份名称
%c 本地相应的日期表示和时间表示
%j 年内的一天(001-366)
%p 本地A.M.或P.M.的等价符
%U 一年中的星期数(00-53)星期天为星期的开始
%w 星期(0-6),星期天为星期的开始
%W 一年中的星期数(00-53)星期一为星期的开始
%x 本地相应的日期表示
%X 本地相应的时间表示
%Z 当前时区的名称
%% %号本身
第七句:
"地址":[f.address() for i in range(5)]
随机产生详细地址第八句:
df.to_excel("客户信息表.xlsx")
导出到excel表,并命名为客户信息表.xlsx。
输出效果
客户姓名 年龄 联系电话 最后去电时间 意向 地址
0 罗宇 27 18103346883 2021年05月06日 有 青海省金凤县华龙宁德路S座 705141
1 陈玉 33 13716668462 2021年04月28日 有 天津市汕尾市浔阳武汉街U座 443199
2 杨旭 34 15692597197 2021年02月13日 有 黑龙江省桂香市怀柔陈路G座 547033
3 宋秀芳 30 15548556804 2021年07月12日 有 西藏自治区小红市城北拉萨路y座 247306
4 杨红梅 22 15127704689 2021年02月15日 无 河北省海门市合川梧州路v座 970176

END


需要您的一个“在看”





