Python從資料庫取數,對時間進行處理,統計資料彙總後畫圖
#-*- coding: utf8 -*- import odbc import numpy as np import pylab as pl allDate = [] allData = [] if __name__ == '__main__': print("run success") allDate, allData = odbc.getData() # print(allDate) pl.plot(allDate,allData) pl.show() else: print("run error")import pymysql as mysql import time, datetime mysql.install_as_MySQLdb() def getData(): try: # 獲取一個數據庫連線,注意如果是UTF-8型別的,需要制定資料庫 conn = mysql.connect(host='xxx.xxx.xxx.xxx', user='xxx', passwd='xxx', db='xxx', port=xxx, charset='utf8') cur = conn.cursor() # 獲取一個遊標 sql = """SELECT a.changenum,a.updatetime from xxxx a join xxxxx b on a.x = b.x where b.name = 'xxx' and a.updatetime > '2017-07-01 00:00:00' ORDER BY updatetime ASC""" cur.execute(sql) # 遊標執行sql查詢語句 data = cur.fetchall() # fetchall()則是接收全部的返回結果行 change_data = [] change_date = [] for d in data: # 迴圈結果進行顯示 change_data.append(d[0]) change_date.append(d[1]) cur.close() # 關閉遊標 conn.close() # 關閉連線 except Exception: print("查詢失敗") print(change_data) print(change_date) first_date = datetime.datetime.strptime( datetime.datetime.strftime(change_date[0], '%Y-%m-%d %H:%M:%S')[0:10] + " 00:00:00", '%Y-%m-%d %H:%M:%S') # 獲取第一個時間資料,取得日期部分,向前 last_date = datetime.datetime.strptime( datetime.datetime.strftime(change_date[len(change_date) - 1], '%Y-%m-%d %H:%M:%S')[0:10] + " 00:00:00", '%Y-%m-%d %H:%M:%S') + datetime.timedelta(days=1) # 獲取最後一個時間資料,取得日期部分,向後 # print(first_date) # print(last_date) date = [] data = [] temp_date = first_date n = 0 num = 0 #外層迴圈,每次增加半小時 while temp_date < last_date: for i in range(n, len(change_date)): #內層迴圈,迴圈資料庫資料,在該半小時之內的變換情況 if temp_date <= change_date[i] < temp_date + datetime.timedelta(minutes=30): num += change_data[i] else: break data.append(num) # 對變化情況進行記錄以便於後續畫圖的Y軸資料 num = 0 n = i temp_date = temp_date + datetime.timedelta(minutes=30) # 橫軸時間資料 date.append(temp_date) print(len(date)) print(len(data)) print(date) print(data) return date, data # 因為未對齊到外層的getData()主函式,曾經導致出錯
相關推薦
Python從資料庫取數,對時間進行處理,統計資料彙總後畫圖
#-*- coding: utf8 -*- import odbc import numpy as np import pylab as pl allDate = [] allData = [] if __name__ == '__main__': print("run success") a
在 react 項目裏應用 immutable 對 redux 進行處理,對 List 數據渲染的問題
port 相關 osi color span 行處理 引入 import 代碼 一、reducer文件的處理 先安裝 immutable 與 redux-immutable yarn add immutable redux-immutable 安裝好後,要在大樹下將子
Jquery對時間進行判斷,格式化
1.獲取當前時間,並進行格式化 var myDate = new Date(); //獲取當前年 var year=myDate.getFullYear(); //獲取當前月 var month=m
在 react 專案裡應用 immutable 對 redux 進行處理,對 List 資料渲染的問題
一、reducer檔案的處理 先安裝 immutable 與 redux-immutable yarn add immutable redux-immutable 安裝好後,要在大樹下將子樹合併,在store資料夾的 reducer.js 檔案中引入 import
使用MD5線上加解密工具,對漢字進行加密,得到不同的結果
1. 問題背景 使用相同的漢字字串進行MD5計算,有時候會遇到:使用不同的線上工具,得到不同的MD5計算結果。 2. 原因 出現這樣情況的原因,通常是因為不同的線上工具使用的對漢字的編碼方式不同。(如果還有其他原因,歡迎大家評論留言哈,本喵也很想知道~) 3. 驗證 用一個32位
定義一個日期類,對日期進行設定,判斷是否為閏年
include using namespace std; class Date { public: void Set(int y,int m,int d); bool IsLeapYear();
多尺度小波分解與重構,matlab,對係數進行處理後,構造C,重構訊號1
自己要解決的問題是,用小波分解對時間序列進行多尺度分解,再分別對各系數進行預測,最後重構得到最後的預測結果。 因為對係數進行了新的處理,所以不能直接用waverec函式重構原始訊號,而需要先構造C,再用waverec函式重構原始訊號。 所以這裡主要解決的問題是
Android單點觸控技術,對圖片進行平移,縮放,旋轉操作
相信大家使用多點對圖片進行縮放,平移的操作很熟悉了,大部分大圖的瀏覽都具有此功能,有些app還可以對圖片進行旋轉操作,QQ的大圖瀏覽就可以對圖片進行旋轉操作,大家都知道對圖片進行縮放,平移,旋轉等操作可以使用Matrix來實現,Matrix就是一個3X3的矩陣,對圖片的處理可
自定義函式,對列表進行排序,預設升序,可以降序
程式碼編寫 執行結果 參考程式碼: def list_sort(lt, reverse=False): n = len(lt) for i in range(n-1): for j in range(i+1, n):
sql查詢結果存入DataTable,然後從DataTable取數據
結果 ble body 查詢 取數 select columns class span for (int i = 0; i < dt.Rows.Count; i++) { string s = "select
python用sort()函式對列表進行排序,從最後一個元素開始判斷
直接上程式碼: a = [1, 2, 3, 4, 4, 5, 6, 7, 7, 9, 0]a.sort()last = a[-1]for i in range(len(a)-2, -1, -1): if last == a[i]: del a[i] else: las
C# 關於從資料庫取資料,並顯示在DataGridView中
從資料庫取資料,並顯示在DataGridView中,這種做法在.net開發經常用到。那麼到底該怎麼做呢? 1.要從資料庫取資料,必須建立資料庫連線 2.將資料庫中取到的資料通過一定方法,顯示在介面的的dataGridView中 程式碼: 效果如下: 從中,我們可以
Django實戰: Python爬蟲爬取鏈家上海二手房資訊,存入資料庫並在前端顯示
好久沒寫Django實戰教程了,小編我今天就帶你把它與Python爬蟲結合做出個有趣的東西吧。我們將開發這樣一個應用,前端使用者可以根據行政區劃,房廳數和價格區間選擇需要爬取的二手房房源資訊,後臺Python開始爬取資料。爬取資料完成後,通過Django將爬來的資料存入資料庫
從資料庫取到資料轉換json後,時間格式帶上T的解決辦法
從資料庫取得資料之後,轉換成json顯示在前臺,在轉換json時發現yyyy-MM-dd HH:mm:ss格式的日期變成了yyyy-MM-ddTHH:mm:ss, 日與小時之間多出個T字元.這是因為 Newtonsoft.Json轉換json導致的; Newtonsoft.Json產生的預設日期時間
python學習筆記9:面向對象編程,類
數據 相同屬性 技術 -o 必須 是把 oop ack 繼承 一、面向對象編程 面向對象--Object Oriented Programming,簡稱oop,是一種程序設計思想。 還有另一種程序設計思想——面向過程編程。面向過程的思想是把一個項目、一件事情按照一定
python/numpy/tensorflow中,對矩陣行列操作,下標是怎麽回事兒?
flow round mean 數據 ria lis .html 錯誤 表示 Python中的list/tuple,numpy中的ndarrray與tensorflow中的tensor。 用python中list/tuple理解,僅僅是從內存角度理解一個序列數據
Python三種基礎數據類型:列表list,元祖tuple和字典dict
列表組 基本數據類型 基本數據 一起 字典 系列 nbsp 類型 查看 Python的三種基本數據類型,列表list,元祖tuple和字典dict 列表List:python最基礎的數據類型,列表內的數據項不需要具有相同的類型,可以包含重復值。列表包括兩個模塊,元素及對應的
python爬蟲爬取QQ說說並且生成詞雲圖,回憶滿滿!
運維開發 網絡 分析 matplot 容易 jieba 編程語言 提示框 然而 Python(發音:英[?pa?θ?n],美[?pa?θɑ:n]),是一種面向對象、直譯式電腦編程語言,也是一種功能強大的通用型語言,已經具有近二十年的發展歷史,成熟且穩定。它包含了一組完善而且
Python-對Pcap文件進行處理,獲取指定TCP流
serve cap dscp 解析 地址 沒有 ont wikipedia 校驗和 通過對TCP/IP協議的學習,本人寫了一個可以實現對PCAP文件中的IPV4下的TCP流提取,以及提取指定的TCP流,鑒於為了學習,沒有采用第三方包解析pcap,而是對byt
微信小程序的按下擡起事件,下拉選擇框的事件及點擊確定的方法函數,獲取時間的方法,省市區的方法。
bin img util req fun data hang UNC 日期 擡起按下的事件: 擡起事件: bind:touchstart="nanOne" 把這條屬性放到標簽裏就可以了 在JS中 nanOne: function () { this.setDa