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

yipeiwu_com6年前Python基础

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

下面是代码作用是将数据从数据库读取出来分批次写入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设计】。

相关文章

在django中使用自定义标签实现分页功能

在django中使用自定义标签实现分页功能

效果演示:   github地址:https://github.com/mncu/django_projects/tree/master/django_projects/pag...

用python处理图片之打开\显示\保存图像的方法

用python处理图片之打开\显示\保存图像的方法

一提到数字图像处理,可能大多数人就会想到matlab,但matlab也有自身的缺点: 1、不开源,价格贵 2、软件容量大。一般3G以上,高版本甚至达5G以上。 3、只能做研究,不易转化成...

实例讲解Python设计模式编程之工厂方法模式的使用

实例讲解Python设计模式编程之工厂方法模式的使用

工厂方法模式是简单工厂模式的进一步抽象和推广,它不仅保持了简单工厂模式能够向客户隐藏类的实例化过程这一优点,而且还通过多态性克服了工厂类过于复杂且不易于扩展的缺点。在工厂方法模式中,处于...

python networkx 包绘制复杂网络关系图的实现

1. 创建一个图 import networkx as nx g = nx.Graph() g.clear() #将图上元素清空 所有的构建复杂网络图的操作基本都围绕这个g来执行...

Python随手笔记第一篇(2)之初识列表和元组

Python随手笔记第一篇(2)之初识列表和元组

Python中,列表和元组是一种数据结构:序列,序列中的每个元素都被分配一个序号,元素的位置,第一原元素的位置为0,因此类推。序列是最基本的数据结构,列表和元组他们之间具有一定的区别,即...