将TXT文件数据存进Python内置数据库splite3

当TXT文件太大,计算机内存不够时,我们可以选择按行读取TXT文件,并将其存储进Python内置轻量级splite数据库,这样可以加快数据的读取速度,当我们需要重复读取数据时,这样的速度加快所带来的时间节省是非常可观的,比如,当我们在训练数据时,要迭代10万次,即要从文件中读取10万次,即使每次只加快0.1秒,那么也能节省几个小时的时间了。

#创建数据库并把txt文件的数据存进数据库
import sqlite3            #导入sqlite3
cx = sqlite3.connect('./train.db')   #创建数据库,如果数据库已经存在,则链接数据库;如果数据库不存在,则先创建数据库,再链接该数据库。
cu = cx.cursor()                     #定义一个游标,以便获得查询对象。
cu.execute('create table if not exists train4 (id integer primary key,name text)')   #创建表
fr = open('data_sample.txt')        #打开要读取的txt文件
i = 0
for line in fr.readlines():        #将数据按行插入数据库的表train4中。
    cu.execute('insert into train4 values(?,?)',(i,line))
    i +=1
cu.close()      #关闭游标
cx.commit()     #事务提交
cx.close()      #关闭数据库
查询数据:

cu.execute('select * from train4 where id = ?',(i,))  #i代表你要读取表train4中某一行的数据
result = cu.fetchall()
PS:如果前面已经关闭了数据库,那么在查询时要重新打开数据库,并创建游标。这一点要注意一下。

完整的查询程序是这样的:

import sqlite3
cx = sqlite3.connect('./train.db')
cu = cx.cursor()
for i in range(5):
    cu.execute('select * from train4 where id = ?',(i,))
    result = cu.fetchall()
    cx.commit()
cu.close()
cx.close()


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值