没有合适的资源?快使用搜索试试~ 我知道了~
首页Python实现读取TXT文件数据并存进内置数据库SQLite3的方法
资源详情
资源评论
资源推荐

Python实现读取实现读取TXT文件数据并存进内置数据库文件数据并存进内置数据库SQLite3的方的方
法法
主要介绍了Python实现读取TXT文件数据并存进内置数据库SQLite3的方法,涉及Python针对txt文件的读取及
sqlite3数据库的创建、插入、查询等相关操作技巧,需要的朋友可以参考下
本文实例讲述了Python实现读取TXT文件数据并存进内置数据库SQLite3的方法。分享给大家供大家参考,具体如下:
当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()
注:注:如果前面已经关闭了数据库,那么在查询时要重新打开数据库,并创建游标。这一点要注意一下。
完整的查询程序是这样的:
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()
另:另:这里再为大家附带一个SQLite3数据操作类供大家参考使用:
import sqlite3
# ***************************************************
# *
# * Description: Python操作SQLite3数据库辅助类(查询构造器)
# * Author: wangye
# *
# ***************************************************
def _wrap_value(value):
return repr(value)
def _wrap_values(values):
return list(map(_wrap_value, values))
def _wrap_fields(fields):
for key,value in fields.items():
fields[key] = _wrap_value(value)
return fields
def _concat_keys(keys):
return "[" + "],[".join(keys) + "]"
def _concat_values(values):
return ",".join(values)
def _concat_fields(fields, operator = (None, ",")):
if operator:
unit_operator, group_operator = operator
# fields = _wrap_fields(fields)
compiled = []
for key,value in fields.items():
compiled.append("[" + key + "]")




















weixin_38547882
- 粉丝: 4
- 资源: 886
上传资源 快速赚钱
我的内容管理 收起
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助

会员权益专享
最新资源
- ARM Cortex-A(armV7)编程手册V4.0.pdf
- ABB机器人保养总结解析.ppt
- 【超详细图解】菜鸡如何理解双向链表的python代码实现
- 常用网络命令的使用 ipconfig ping ARP FTP Netstat Route Tftp Tracert Telnet nslookup
- 基于单片机控制的DC-DC变换电路
- RS-232接口电路的ESD保护.pdf
- linux下用time(NULL)函数和localtime()获取当前时间的方法
- Openstack用户使用手册.docx
- KUKA KR 30 hA,KR 60 hA机器人产品手册.pdf
- Java programming with JNI
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈



安全验证
文档复制为VIP权益,开通VIP直接复制

评论0