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 十萬級別的

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM