Python 生成千萬條數據,並且插入到數據庫中

 1 import random
 2 import sqlite3
 3 
 4 
 5 def draw_double_color_ball():
 6     # 紅球編號列表
 7     red_balls = list(range(1, 34))  # 編號從1到33
 8     # 藍球編號列表
 9     blue_balls = list(range(1, 17))  # 編號從1到16
10 
11     # 從紅球中隨機抽取6個不重複的號碼
12     drawn_red_balls = random.sample(red_balls, 6)
13     drawn_red_balls.sort()
14     # 從藍球中隨機抽取1個不重複的號碼
15     drawn_blue_ball = random.choice(blue_balls)
16 
17     # 返回抽取結果
18     return drawn_red_balls, drawn_blue_ball
19 
20 
21 conn = sqlite3.connect('ball.db')
22 cur = conn.cursor()
23 with open('demo.txt', 'r', encoding='utf-8') as f:
24     for line in f:
25         # 獲取到索引
26         str_index = line.find("[")
27         str_01 = line[:str_index]
28         print("~~~~~~~~~>>>當前插入條數: ", str_01)
29 
30         # 獲取數據列表(6)
31         str_end = line.find("]")
32         str_02 = line[str_index:str_end]
33         str_03 = str_02[1:]
34         # print("~~~~~~~~~>>>真實數據源: ", str_03)
35 
36         # 獲取最後一位數據
37         str_05 = line.find("]")
38         str_06 = line[str_05:]
39         str_07 = str_06[1:]
40         str_last = str_07.strip()
41         # print("~~~~~~~~~>>>獲取最後一位數據: ", str_last)
42 
43         # 對獲取的真實數據進行分割排序
44         real = str_03.split(",")
45         real.sort(key=int)
46         # print("~~~~~~~~~>>>分割排序後的列表: ", real)
47 
48         cur.execute(
49             "insert into double_ball(read_ball_1,read_ball_2,read_ball_3,read_ball_4,read_ball_5,read_ball_6,blue_ball) values(?,?,?,?,?,?,?)",
50             (real[0], real[1], real[2], real[3], real[4], real[5], str_last))
51         conn.commit()
52 conn.close()
53 print("~~~~~~~~~~~~~~~>>>>執行完成<<<<~~~~~~~~~~~~~~~")

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章