Python从数据库读取大量数据批量写入文件的方法


Posted in Python onDecember 10, 2018

使用机器学习训练数据时,如果数据量较大可能我们不能够一次性将数据加载进内存,这时我们需要将数据进行预处理,分批次加载进内存。

下面是代码作用是将数据从数据库读取出来分批次写入txt文本文件,方便我们做数据的预处理和训练机器学习模型。

#%%
import pymssql as MySQLdb #这里是python3 如果你是python2.x的话,import MySQLdb
#数据库连接属性
hst = '188.10.34.18'
usr = 'sa'
passwd = 'p@ssw0rd'
db = 'HistoryTrace'
 
#总共多少数据
allData = 1674333
#每个批次多少条数据
dataOfEach = 20000
#批次
batch = ceil(allData/dataOfEach)
 
#文件名
global IDctrl 
IDctrl = 1
filename = str(IDctrl)+'.txt'
 
#连接数据库
conn = MySQLdb.connect(host=hst,user=usr,password=passwd,database=db)
cur=conn.cursor()
 
while IDctrl<batch:
 #读取数据库
 sql = 'SELECT Longitude,Latitude,Altitude,VelComOfLong,VelComOfLati,Aircraft,Section,TimeMinus\
    FROM dealed1 where ID>=' + str(IDctrl) + ' and ID <' + str(IDctrl + dataOfEach) 
 cur.execute(sql)
 rows=cur.fetchall()
 #写文件
 f = open(filename,'w')
 f.writelines(str(rows))
 #文件名加1
 IDctrl+=1
 filename = str(IDctrl)+'.txt'
 
#关闭数据库连接
f.close()
conn.close()

以上这篇Python从数据库读取大量数据批量写入文件的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
浅谈python迭代器
Nov 08 Python
浅谈Python里面小数点精度的控制
Jul 16 Python
对TensorFlow的assign赋值用法详解
Jul 30 Python
python中bs4.BeautifulSoup的基本用法
Jul 27 Python
Python matplotlib绘制饼状图功能示例
Sep 10 Python
解析Python3中的Import
Oct 13 Python
Python Django框架模板渲染功能示例
Nov 08 Python
Python bytes string相互转换过程解析
Mar 05 Python
PyTorch 实现L2正则化以及Dropout的操作
May 27 Python
在pycharm中无法import所安装的库解决方案
May 31 Python
python-opencv 中值滤波{cv2.medianBlur(src, ksize)}的用法
Jun 05 Python
5行Python代码实现一键批量扣图
Jun 29 Python
对Python实现简单的API接口实例讲解
Dec 10 #Python
python中dir()与__dict__属性的区别浅析
Dec 10 #Python
python分块读取大数据,避免内存不足的方法
Dec 10 #Python
Python 文本文件内容批量抽取实例
Dec 10 #Python
Python中作用域的深入讲解
Dec 10 #Python
python实现根据文件关键字进行切分为多个文件的示例
Dec 10 #Python
Python文件常见操作实例分析【读写、遍历】
Dec 10 #Python
You might like
利用PHP实现与ASP Banner组件相似的类
2006/10/09 PHP
删除无限分类并同时删除它下面的所有子分类的方法
2010/08/08 PHP
PHPThumb PHP 图片缩略图库
2012/03/11 PHP
php实现保存submit内容之后禁止刷新
2014/03/19 PHP
event.keyCode键码值表 附只能输入特定的字符串代码
2009/05/15 Javascript
在js中判断checkboxlist(.net控件客户端id)是否有选中
2013/04/11 Javascript
javascript调试之DOM断点调试法使用技巧分享
2014/04/15 Javascript
原生js图片轮播效果实现代码
2016/10/19 Javascript
浅谈javascript中的 “ &amp;&amp; ” 和 “ || ”
2017/02/02 Javascript
深入理解Webpack 中路径的配置
2017/06/17 Javascript
JS库中的Particles.js在vue上的运用案例分析
2017/09/13 Javascript
微信小程序使用swiper组件实现类3D轮播图
2018/08/29 Javascript
详解在vue-test-utils中mock全局对象
2018/11/07 Javascript
vue 基于element-ui 分页组件封装的实例代码
2018/12/10 Javascript
微信小程序图片加载失败时替换为默认图片的方法
2019/12/09 Javascript
关于vue3.0中的this.$router.replace({ path: '/'})刷新无效果问题
2020/01/16 Javascript
python打包压缩、读取指定目录下的指定类型文件
2018/04/12 Python
Python多进程与服务器并发原理及用法实例分析
2018/08/21 Python
浅谈Python中的可迭代对象、迭代器、For循环工作机制、生成器
2019/03/11 Python
Django中的用户身份验证示例详解
2019/08/07 Python
Python 转换RGB颜色值的示例代码
2019/10/13 Python
Python3加密解密库Crypto的RSA加解密和签名/验签实现方法实例
2020/02/11 Python
浅谈spring boot 集成 log4j 解决与logback冲突的问题
2020/02/20 Python
Python+redis通过限流保护高并发系统
2020/04/15 Python
日本乐天德国站:Rakuten.de
2019/05/16 全球购物
一个大学生十年的职业规划
2014/01/17 职场文书
大学军训感言300字
2014/03/09 职场文书
工伤赔偿协议书
2014/04/15 职场文书
经典演讲稿开场白
2014/08/25 职场文书
业务员岗位职责范本
2015/04/03 职场文书
2015年六一儿童节活动方案
2015/05/05 职场文书
2019年“我为祖国点赞”演讲稿(3篇)
2019/09/26 职场文书
pytorch 如何使用float64训练
2021/05/24 Python
再次探讨go实现无限 buffer 的 channel方法
2021/06/13 Golang
Redis keys命令的具体使用
2022/06/05 Redis
Golang gRPC HTTP协议转换示例
2022/06/16 Golang