Python 脚本生成测试数据,Python生成随机数据,Python生成大量数据保存到文件夹中

代码如下:

import random
import datetime
import time

dataCount = 10*100*100    #10M.
codeRange = range(ord(‘a‘),ord(‘z‘))
alphaRange = [chr(x) for x in codeRange]
alphaMax = len(alphaRange)
daysMax = 42003
theDay = datetime.date(1900,1,1)

def genRandomName(nameLength):
    global alphaRange,alphaMax
    length = random.randint(1, nameLength)
    name = ‘‘
    for i in range(length):
        name += alphaRange[random.randint(0,alphaMax-1)]
    return name

def genRandomDay():
    global daysMax,theDay
    mDays = random.randint(0,daysMax)
    mDate = theDay + datetime.timedelta(days=mDays)
    return mDate.isoformat()

def genRandomSex():
    return random.randint(0,1)

def genDataBase1(fileName,dataCount):
    outp = open(fileName,‘w‘)
    i = 0
    while i<dataCount:
        firstName = genRandomName(14)
        lastName = genRandomName(14)
        birthday = genRandomDay()
        sex = genRandomSex()
        mLine = "%i %s %s %s %d\n"%(i+1,firstName,lastName,birthday,sex)
        outp.write(mLine)
        i += 1
    outp.close()

if __name__ == "__main__":
    random.seed()
    start = time.time()
    genDataBase1(‘db_test.txt‘,dataCount)
    end = time.time()
    print(‘use time:%d‘%(end-start))
    print(‘Ok‘)

生成数据格式:

1 wkhmjprutxovs bhlt 1999-07-16 0
2 q mwvvjmpdlmk 1984-11-01 0
3 jqpaxktiudjta rrxxiba 1903-05-23 0
4 moqedxba v 1951-07-11 0
5 gjalleufxt rsdoneumcgbmo 1900-08-30 0
6 hrtfx d 1948-09-11 0
7 iomxbjrywau aure 1993-11-16 0
8 rxhqatkq fvcsqhpogmenud 1979-01-01 1
9 xrqcwhvh ucbd 1976-06-14 1
10 sgurlwao au 1989-04-30 1
11 g vfb 1992-10-07 0
12 yyfatwh ibwfdfdqnpbeau 1955-09-18 1
13 xubjawbdkgx rjaocwemvvgj 1905-10-14 0
14 bdwkgvkkuok bgjfffekqy 1931-03-12 1
15 ckv itqdy 1963-11-11 0
16 auwwabbc luipbejel 1984-05-06 0
17 mefykukxwodhm iiilfjxjpqq 2005-04-23 1

总结:

一千万条数据 生产时间大概需要490秒。占用内存320m左右 机器配置 8g内存 i3处理器

用grep 查询其中一条数据大概需要1到2秒 统计五千条数据需要 1到2秒时间,说明 grep功能强大

一亿条数据
用grep 查询其中一条数据大概需要40秒 统计五千条数据需要 40秒时间,时间指数增加,生产数据时间是4876秒(可优化)

用sed把一个字符串替换为另外一个字符串 需要4分钟 替换的数据了为649747 十万级别的

时间: 2024-12-17 17:46:10

Python 脚本生成测试数据,Python生成随机数据,Python生成大量数据保存到文件夹中的相关文章

【转载】关于Python脚本开头两行的:#!/usr/bin/python和# -*- coding: utf-8 -*-的作用 &ndash; 指定文件编码类型

下面的内容来自:http://www.cnblogs.com/blueskylcc/p/5332642.html, 对方也是转的,不过没有找到转载的出处: 1.#!/usr/bin/python 是用来说明脚本语言是 python 的 是要用 /usr/bin下面的程序(工具)python,这个解释器,来解释 python 脚本,来运行 python 脚本的. 2.# -*- coding: utf-8 -*- 是用来指定文件编码为 utf-8 的 详情可以参考:PEP 0263 - Defin

Python脚本开头两行的:#!/usr/bin/python和# -*- coding: utf-8 -*-的作用

#!/usr/bin/python 是用来说明脚本语言是python的 是要用/usr/bin下面的程序(工具)python,这个解释器,来解释python脚本,来运行python脚本的. PY文件当中是不支持中文的,即使你输入的注释是中文也不行,为了解决这个问题,就需要把文件编码类型改为UTF-8的类型,输入这个代码就可以让PY源文件里面有中文了. 原文地址:https://www.cnblogs.com/wander-clouds/p/8451548.html

hivepython 同时读入python 且python脚本中处理外部文件txt

找出表test_gid2中每个gid的安装列表中含有文件pkgs中的pkg名字的数据行. pkgs文件要与python脚本放在一个路径下. 用 transform 的传入数据的时候,不管原文件分隔符是什么样的,在python里面处理都是用"\t"来处理. test_gid2表包含的字段为:gid,phone_model,usertags,installed_applist tes4.py脚本内容: import codecs import os import re import sys

基于binlog来分析mysql的行记录修改情况(python脚本分析)

最近写完mysql flashback,突然发现还有有这种使用场景:有些情况下,可能会统计在某个时间段内,MySQL修改了多少数据量?发生了多少事务?主要是哪些表格发生变动?变动的数量是怎么样的? 但是却不需要行记录的修改内容,只需要了解 行数据的 变动情况.故也整理了下. 昨晚写的脚本,因为个人python能力有限,本来想这不发这文,后来想想,没准会有哪位园友给出优化建议. 如果转载,请注明博文来源: www.cnblogs.com/xinysu/   ,版权归 博客园 苏家小萝卜 所有.望各

使用python脚本监控指定域名解析

python脚本:                                                                                                                  21,0-1        All #!/usr/bin/python # -*- coding: utf-8 -*- #此脚本用于检测域名解析是否正常 import os namelist = {'www.51cto.com':'218.11.0.91

Qgis 里的Python脚本介绍

QGIS 入门演示之<用 QGIS 画矢量交通路线图> 脚本编程之准备知识<Python 教程> QGIS API QGIS插件库 运行QGIS脚本,对于桌面应用来讲有4种方式: QGIS 启动时自动运行Python脚本 QGIS 控制台中运行发布的Python命令 创建Python写的插件 创建基于QGIS API的应用程序 QGIS服务端绑定: 2.8 开始,QGIS服务端包含Python插件 (see: Server Python Plugins) 2.11开始 (2015-

shell脚本中执行python脚本并接收其返回值的例子

1.在shell脚本执行python脚本时,需要通过python脚本的返回值来判断后面程序要执行的命令 例:有两个py程序  hello.py 复制代码代码如下: def main():    print "Hello" if __name__=='__main__':    main()world.py def main():    print "Hello" if __name__=='__main__':    main() shell 脚本 test.sh

删除超过1年数据完整python脚本

删除超过1年数据完整python脚本: vi aa.py #!/usr/bin/python import osimport datetimeimport shutil dir="/aa" now = datetime.datetime.now()delta = datetime.timedelta(days=365) os.remove("/log/110Hudrm/gmss.txt")os.mknod("/log/110Hudrm/gmss.txt&q

python脚本批量生成数据

在平时的工作中,经常会遇到造数据,特别是性能测试的时候更是需要大量的数据.如果一条条的插入数据库或者一条条的创建数据,效率未免有点低.如何快速的造大量的测试数据呢?在不熟悉存储过程的情况下,今天给大家介绍一种方法,很简单的也很实用.思路是用python代码写一段小程序,生成一定数量的SQL语句,再把这些SQL语句拷贝黏贴到数据库工具执行SQL即可. 假如有个联系人的学生表student,其表结构为姓名name.学校school.电话telphone.邮箱email. 以Mysq为例子,sql语句