转载:python写入大量数据

https://blog.csdn.net/tan_handsome/article/details/79261413

使用机器学习训练数据时,如果数据量较大可能我们不能够一次性将数据加载进内存,这时我们需要将数据进行预处理,分批次加载进内存。下面是代码作用是将数据从数据库读取出来分批次写入txt文本文件,方便我们做数据的预处理和训练机器学习模型。


  
  
  1. #%%
  2. import pymssql as MySQLdb #这里是python3 如果你是python2.x的话,import MySQLdb
  3. #数据库连接属性
  4. hst = '188.10.34.18'
  5. usr = 'sa'
  6. passwd = 'p@ssw0rd'
  7. db = 'HistoryTrace'
  8. #总共多少数据
  9. allData = 1674333
  10. #每个批次多少条数据
  11. dataOfEach = 20000
  12. #批次
  13. batch = ceil(allData/dataOfEach)
  14. #文件名
  15. global IDctrl
  16. IDctrl = 1
  17. filename = str(IDctrl)+ '.txt'
  18. #连接数据库
  19. conn = MySQLdb.connect(host=hst,user=usr,password=passwd,database=db)
  20. cur=conn.cursor()
  21. while IDctrl<batch:
  22. #读取数据库
  23. sql = 'SELECT Longitude,Latitude,Altitude,VelComOfLong,VelComOfLati,Aircraft,Section,TimeMinus\
  24. FROM dealed1 where ID>=' + str(IDctrl) + ' and ID <' + str(IDctrl + dataOfEach)
  25. cur.execute(sql)
  26. rows=cur.fetchall()
  27. #写文件
  28. f = open(filename, 'w')
  29. f.writelines(str(rows))
  30. #文件名加1
  31. IDctrl+= 1
  32. filename = str(IDctrl)+ '.txt'
  33. #关闭数据库连接
  34. f.close()
  35. conn.close()




猜你喜欢

转载自blog.csdn.net/jiachuan/article/details/86627428
今日推荐