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 十万级别的
Python 脚本生成测试数据,Python生成随机数据,Python生成大量数据保存到文件夹中的更多相关文章
- 解决:执行python脚本,提示错误:/usr/bin/python^M: 解释器错误: 没有那个文件或目录。
执行python脚本,提示错误: /usr/bin/python^M: 解释器错误: 没有那个文件或目录. 产生错误原因: \r字符被显示为^M,这时候只需要删除这个字符就可以了. Linux环境下: ...
- 【转】关于Python脚本开头两行的:#!/usr/bin/python和# -*- coding: utf-8 -*-的作用 – 指定文件编码类型
原文网址:http://www.crifan.com/python_head_meaning_for_usr_bin_python_coding_utf-8/ #!/usr/bin/python 是用 ...
- 【转载】关于Python脚本开头两行的:#!/usr/bin/python和# -*- coding: utf-8 -*-的作用 – 指定文件编码类型
1.#!/usr/bin/python 是用来说明脚本语言是 python 的 是要用 /usr/bin下面的程序(工具)python,这个解释器,来解释 python 脚本,来运行 python 脚 ...
- 关于Python脚本开头两行的:#!/usr/bin/python和# -*- coding: utf-8 -*-的作用 – 转
#!/usr/bin/python 是用来说明脚本语言是python的 是要用/usr/bin下面的程序(工具)python,这个解释器,来解释python脚本,来运行python脚本的. # -*- ...
- Python脚本开头两行的:#!/usr/bin/python和# -*- coding: utf-8 -*-的作用
#!/usr/bin/Python指定用什么解释器运行脚本以及解释器所在的位置 # -*- coding: utf-8 -*-用来指定文件编码为utf-8的 估计有不少人注意过一些python脚本开头 ...
- 关于Python脚本开头两行的:#!/usr/bin/python和# -*- coding: utf-8 -*-的作用 – 指定文件编码类型
#!/usr/bin/python指定用什么解释器运行脚本以及解释器所在的位置 # -*- coding: utf-8 -*-用来指定文件编码为utf-8的PEP 0263 -- Defining P ...
- (二)Python脚本开头两行的:#!/usr/bin/python和# -*- coding: utf-8 -*-的作用
#!usr/bin/env python # -*- coding: utf-8 -*- def test(): print('hello, world') if __name__ == " ...
- python(28)获得网卡的IP地址,如何在其他文件夹中导入python模块
获得第几块网卡的ip地址: 如何在其他文件夹中导入模块 import sys sys.path.append('/search/chen/tool')#你的代码存放的目录 from Get_Ip im ...
- Python实用案例,Python脚本,Python实现每日更换“必应图片”为“桌面壁纸”
往期回顾 Python实现自动监测Github项目并打开网页 Python实现文件自动归类 Python实现帮你选择双色球号码 前言: 今天我们就利用python脚本实现每日更换"必应图片& ...
随机推荐
- How to join a Ubuntu to Windows Domain
My testing environment: Windows Server 2012 R2 Essentials: With AD and standalone DC in one single b ...
- javascript获取以及设置光标位置
一. 获取光标位置: // 获取光标位置 function getCursortPosition (textDom) { var cursorPos = 0; if (document.selecti ...
- bzoj 2599 数分治 点剖分
具体可以见漆子超的论文 /************************************************************** Problem: User: B ...
- Brush Mode --- Nyoj 236 分类: Brush Mode 2014-04-02 06:56 116人阅读 评论(0) 收藏
心急的C小加 时间限制:1000 ms | 内存限制:65535 KB 难度:4 描述 C小加有一些木棒,它们的长度和质量都已经知道,需要一个机器处理这些木棒,机器开启的时候需要耗费一个单位的时间 ...
- 使用fwrite()函数和fprintf()函数输出数据到文件时的区别
使用书上的一个课后题为例 有5个学生,每个学生有3门课的成绩,从键盘输入学生数据(包括学号,姓名,3们课程成绩),计算出每个学生的平均成绩,将原有数据和计算出的平均分数存放在磁盘文件“stud”中. ...
- .NET设计模式(7):创建型模式专题总结(Creational Pattern)(转)
概述 创建型模式,就是用来创建对象的模式,抽象了实例化的过程.它帮助一个系统独立于如何创建.组合和表示它的那些对象.本文对五种常用创建型模式进行了比较,通过一个游戏开发场景的例子来说该如何使用创建型模 ...
- GCD创建一个单例
1.+(id)shareInstance{ static ClassA *A=nil; static dispatch_once_t onceToken; dispatch_once(&onc ...
- Win7无法使用VPN的原因与解决方法(一)
如果Windows 7不是通过正常安装途径的话,像Ghost错误.系统环境改变等,都有可能导致无法使用VPN,而且由于原因不同,给出的提示也不尽相同.实际上,万变不离其宗, VPN是要依靠Window ...
- CMD窗口正确显示UTF-8字符
Go语言教程 http://yiibai.com/go/ CMD窗口正确显示UTF-8字符 http://www.360doc.com/content/13/0424/13/2569758_280 ...
- 深入理解Windows X64调试
随着64位操作系统的普及,都开始大力进军x64,X64下的调试机制也发生了改变,与x86相比,添加了许多自己的新特性,之前学习了Windows x64的调试机制,这里本着“拿来主义”的原则与大家分享. ...