1. 程式人生 > >Python從資料庫讀取大量資料批量寫入檔案

Python從資料庫讀取大量資料批量寫入檔案

使用機器學習訓練資料時,如果資料量較大可能我們不能夠一次性將資料載入進記憶體,這時我們需要將資料進行預處理,分批次載入進記憶體。下面是程式碼作用是將資料從資料庫讀取出來分批次寫入txt文字檔案,方便我們做資料的預處理和訓練機器學習模型。

#%%
import pymssql as MySQLdb  #這裡是python3  如果你是python2.x的話,import MySQLdb
#資料庫連線屬性
hst = '188.10.34.18'
usr = 'sa'
passwd = '[email protected]'
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資料庫讀取大量資料批量寫入檔案

使用機器學習訓練資料時,如果資料量較大可能我們不能夠一次性將資料載入進記憶體,這時我們需要將資料進行預處理,分批次載入進記憶體。下面是程式碼作用是將資料從資料庫讀取出來分批次寫入txt文字檔案,方便我

SQL與eclipse的連線,資料庫讀取資料,將二維陣列資料匯入表

示例: import java.util.List; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; impor

Android上實現一個簡單的天氣預報APP(八) 資料庫讀取城市資料

學習參考資源:https://www.gitbook.com/book/zhangqx/mini-weather/details 前面我們已經實現了今日天氣的主介面佈局,並可以從網路上實時獲取天氣資料更新到介面上,並通過按鈕切入選擇城市介面。接下來,我們通過讀取資料庫檔案獲

第一篇 部落格:java資料庫讀取資料,並寫入到excel表格中

  今天,組長分配了查詢資料庫記錄,並把這些記錄寫入到excel表格中,以前沒有嘗試過,借鑑了一些別人的程式碼,最終實現了功能,寫一篇部落格,總結一下這個過程。1.準備需要用到的jar包    1.jxl.jar     2.mysql-connector-java-5.1.

Python資料庫匯出資料成excel

from trump.db import query from utils.result_process import success,aborted import xlwt import datetime import config_business from sanic

Java呼叫R ,資料庫讀取資料,用R根據讀取資料生成圖片儲存

Java呼叫R 以及用R生成的圖片儲存 使用 png()可以保證圖片質量 有人說繪製的圖片上有中文會出現亂碼,其實設定下字型就好了 family=‘STXihei’ Java呼叫R 以及用R生成的圖片儲存 Rserve的配置和啟動: ①安裝Rserve包。

資料庫讀取日期型資料的錯誤記錄:argument type mismatch

當我從資料庫查詢一條帶有日期型欄位的資料時,報了這個錯誤:         java.lang.IllegalArgumentException: argument type mismatch 這是因為從資料庫取出來是date型別的值,而我卻用String型別的物件去接的,

[C#] 資料庫讀取資料並輸出

連線資料庫,並從資料庫中讀取資料後並輸出! using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Data.SqlClient

使用pandas模組資料庫讀取資料(轉)

轉自:http://www.tuicool.com/articles/ZVzEz2N Python中用Pandas進行資料分析,最常用的就是Dataframe資料結構,之前寫過一篇文章介紹Pandas的基本用法,後來有些朋友問Pandas怎麼從資料庫中讀取資料,怎麼從檔

資料庫讀取資料動態生成樹形選單示例

用C#從資料庫讀取資料,動態生成樹形選單例子 資料庫表 前臺程式碼 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="demo.aspx.cs" Inherits="demo" %> <!DO

python使用xlrd讀取excel資料作為requests的請求引數,並把返回的資料寫入excel中

實現功能: 從excel中的第一列資料作為post請求的資料,資料為json格式;把post返回的結果寫入到excel的第二列資料中 每一行的資料都不一樣,可實現迴圈呼叫 # !/usr/bin/env python # -*- coding:utf-8 -*- #import xlwt

Python資料庫取數,對時間進行處理,統計資料彙總後畫圖

#-*- coding: utf8 -*- import odbc import numpy as np import pylab as pl allDate = [] allData = [] if __name__ == '__main__': print("run success") a

Postgresql快速寫入\/讀取大量資料(.net)

環境及測試 使用.net驅動npgsql連線post資料庫。配置:win10 x64, i5-4590, 16G DDR3, SSD 850EVO. postgresql 9.6.3,資料庫與資料都安裝在SSD上,預設配置,無擴充套件。 CREATE TABLE pub

下拉選單資料庫讀取資料動態生成

一、頁面 index.ftl <html> <head> <meta charset="utf-8"> <script type="text/javascript" src

python資料庫獲取全量資料的方法

資料庫:postgresql(1)第一種方法:使用分頁查詢的方式,不推薦使用特別是在資料量大的時候       首先計算總資料量,然後根據每次查詢的大小batch_size計算總共有多少頁,再一頁一頁的去獲取資料。       由於分頁查詢類似ES中的深度分頁,頁數越大效率越

DataTable的資料批量寫入資料庫

最近在將excel中的檔案匯入到資料庫中,用程式進行編寫,由於資料量較大所以速度很慢,後來採用了SqlBulkCopy類,解決了速度的問題,我就insert語句,sqldataadapter.update(dataset,tablename);sqlbulkcopy.Wri

kettle 資料庫表將資料寫入 hadoop hdfs

kettle 作為一個 java 的開源 ETL 工具,支援的接入源與輸出源很豐富, 下面測試簡單的 資料庫 table -> table -> hdfs 檔案的寫入。 簡介:kettle 主目錄分為作業和轉換     轉換: 用來配置ETL 鏈路資訊,及工作方

Postgresql快速寫入/讀取大量資料(.net)

環境及測試 使用.net驅動npgsql連線post資料庫。配置:win10 x64, i5-4590, 16G DDR3, SSD 850EVO. postgresql 9.6.3,資料庫與資料都安裝在SSD上,預設配置,無擴充套件。 CREATE TABLE p

Python實現讀取多個/批量txt檔案合併成一個txt(示例為tcga資料處理)

本程式 功能:將tcga資料的批量txt檔案合併成一個txt原始的第一個txt(代表一個病人)的資料內容 合併之後的txt資料,基因名不變,只是把病人的表達量收集到一起 操作說明:本人測試通過的執行環境:Python 2.7  Windows 7 64bit  cmd命令執行

php將資料庫取出的資料分為6個一組的二維陣列

$presell = M('presell')->field('id,sname,num,weight,shop_price,endtime,supply,givetime')->where($info)->order('id desc')->select(); &nbs