python处理excel实例去重复 (python对excel表格数据处理与分析)

实例09—自动化写入海量个人模拟信息到Excel文件

模拟场景需求:

由于学习需要,经常处理大量的海量数据,有些隐私数据牵涉到个*权人**利,不便公开也不能公开, 在需要大量数据来测试或者演示软件功能的时候,派上用场。别说写入5000条,就是更多,擅长循环的计算机都不在话下,下面演示如下。

1、用到的知识点:

Python的循环、随机数random,Python函数定义及返回值,,wb对象基本操作包括创建和保存,ws的操作遍历,cell单元格写入函数返回值操作等。

2、操作步骤思维导图:

python获取excel符合条件的数据,python处理excel实例多个表格

操作思路思维导图

核心思想:把自定义函数的返回值构成一个列表,循环n次append到ws工作表对象

3、代码操作编写截图:

'''
编写程序,生成大量随机个人信息,通过openpyxl模块
写入Excel表格,用于在需要获取大量数据来测试或者演示软件功能,
可以避免泄露真实个人隐私数据
'''
# 导入模块
import random
import string
from openpyxl import Workbook
#常用汉字编码(数据太多了,有需要的私信我)
StringBase = '''\u7684\u4e00\u4e86\u662f\u6211\u4e0d\u5728\u4eba……'''

# 获取邮箱地址(按照我们常用的qq和163,126邮箱为准,名称为数字)
def getEmail():
    suffix = ['.com',]
    characters = string.digits
    username = ''.join((random.choice(characters) for i in range(random.randint(6,12))))
    domain = ['qq','163']
    return str(int(username))+"@"+random.choice(domain)+random.choice(suffix)
# 获取电话号码
def getTelno():
    sur = ['13','14','15','16','17','18']
    return random.choice(sur) + ''.join((str(random.randint(0,9)) for i in range(9)))
# 获取姓名(中国人姓名,可以自行添加百家姓)
def getName():
    #百家姓列表
    surname = ['张','王','李','赵','刘','周','吴','郑','司马','上官','欧阳','舒','闫','陈']
    name = ''.join((random.choice(StringBase) for i in range(random.randint(1,2))))
    fullname = random.choice(surname) + name
    return fullname

# 获取地址(省市县乡……)
def getAddress():
    #省份列表
    province = ['安徽省',]
    #地市列表
    city = ['阜阳市',]
    #县市
    coun = ['界首市',]
    #乡镇
    xz = ['舒庄镇',]
    all = random.choice(province)+random.choice(city)+random.choice(coun)+random.choice(xz)+\
        ''.join((random.choice(StringBase) for i in range(random.randint(3,6))))+'村'+\
        str(random.randint(0,100))+'号'
    return all
# 获取性别和年龄
def getSex():
    return random.choice(('男','女'))
def getAge():
    return str(random.randint(18,100))

# 主函数
def main():
    wb = Workbook()
    ws = wb.active
    title = ('姓名','性别','年龄','电话号码','地址','邮箱')
    ws.append(title)
    #随机生成50个人的信息,可以改成5000个,甚至更多
    for i in range(50):
        name = getName()
        sex = getSex()
        age = getAge()
        tel = getTelno()
        address = getAddress()
        email = getEmail()
        tmp = [name,sex,age,tel,address,email] #装配列表
        ws.append(tmp)

    wb.save('随机个人数据.xlsx')


if __name__ == '__main__':

    main()

核心代码已经完全列出,缺少点常用汉字编码数据(太多了,限于篇幅)需要完整代码的,请关注+私信。

python获取excel符合条件的数据,python处理excel实例多个表格

成果截图

升级版本:可以加入虚拟身份证号码,并且自动填充性别和年龄,请继续关注哦^_^