这篇文章主要介绍了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如何实现从数据库读取大量数据批量写入文件”这篇文章对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,更多相关知识等着你来学习!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。