最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python解析json串與正則匹配對比方法

 更新時間:2018年12月20日 14:42:38   作者:bitcarmanlee  
今天小編就為大家分享一篇python解析json串與正則匹配對比方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

現(xiàn)在有如下格式的json串:

“detail_time”:”2016-03-30 16:00:00”,”device_id”:”123456”,”os”:”Html5Wap”,”session_flow_id”:”1d1819f3-8e19-4597-b50d-ba379adcd8e5”,”user_longitude”:0.0000,”user_latitude”:0.0000,”search_id”:xxx,”search_guid”:-543326548,”search_type”:7,”AAA”:4,”BBB”:-1,”CCC”:[],”DDD”:3,”EEE”:2,”FFF”:1459267200,”GGG”:1459353600,”aaa”:90954603,”bbb”:[{“xxx”:1500848,”x”:1,”bf”:0,”pp”:2,”sroom”:2,”ppp”:108,”cost”:97.2,”coupon”:108,”drr”:108},{“xxx”:1500851,”x”:1,”bf”:0,”pp”:1,”sroom”:2,”ppp”:108,”cost”:97.2,”coupon”:108,”drr”:108},{“xxx”:2336691,”x”:1,”bf”:1,”pp”:1,”sroom”:3,”ppp”:199,”cost”:169.15,”coupon”:191,”drr”:199},{“xxx”:2336692,”x”:1,”bf”:1,”pp”:2,”sroom”:4,”ppp”:102,”cost”:91.8,”coupon”:102,”drr”:102},{“xxx”:1500848,”x”:1,”bf”:0,”pp”:2,”sroom”:3,”ppp”:118,”cost”:106.2,”coupon”:118,”drr”:118},{“xxx”:1500851,”x”:1,”bf”:0,”pp”:1,”sroom”:3,”ppp”:118,”cost”:106.2,”coupon”:118,”drr”:118},{“xxx”:2336693,”x”:1,”bf”:1,”pp”:1,”sroom”:5,”ppp”:199,”cost”:169.15,”coupon”:191,”drr”:199},{“xxx”:2336694,”x”:1,”bf”:1,”pp”:2,”sroom”:6,”ppp”:112,”cost”:100.3,”coupon”:112,”drr”:112},{“xxx”:1500848,”x”:1,”bf”:0,”pp”:2,”sroom”:1,”ppp”:98,”cost”:88.2,”coupon”:98,”drr”:98},{“xxx”:1500851,”x”:1,”bf”:0,”pp”:1,”sroom”:1,”ppp”:98,”cost”:88.2,”coupon”:98,”drr”:98},{“xxx”:2336687,”x”:1,”bf”:1,”pp”:1,”sroom”:1,”ppp”:189,”cost”:160.65,”coupon”:182,”drr”:189},{“xxx”:2336689,”x”:1,”bf”:1,”pp”:2,”sroom”:2,”ppp”:93,”cost”:83.3,”coupon”:93,”drr”:93},{“xxx”:1500848,”x”:1,”bf”:0,”pp”:2,”sroom”:4,”ppp”:128,”cost”:115.2,”coupon”:128,”drr”:128},{“xxx”:1500851,”x”:1,”bf”:0,”pp”:1,”sroom”:4,”ppp”:128,”cost”:115.2,”coupon”:128,”drr”:128},{“xxx”:2336695,”x”:1,”bf”:1,”pp”:1,”sroom”:7,”ppp”:239,”cost”:203.15,”coupon”:230,”drr”:239},{“xxx”:2336696,”x”:1,”bf”:1,”pp”:2,”sroom”:8,”ppp”:121,”cost”:108.8,”coupon”:121,”drr”:121}],”ppp_min”:93.00,”ppp_max”:239.00,”ppp_avg”:134.88,”ppp_med”:118.00,”ppp_min_cost”:83.30,”ppp_min_promotion_type”:-1,”ppp_min_promotion_amount”:-1,”bf_ppp_min”:149.00,”bf_ppp_min_cost”:83.30,”bf_ppp_min_promotion_type”:-1,”bf_ppp_min_promotion_amount”:-1}

現(xiàn)在想拿到device_id的具體值。最簡單的方式就是用解析json串的方式得到,代碼如下:

#!/usr/bin/env python
#coding:utf-8

import json
import sys
import collections
import time

def t1():
 start = time.clock()
 for line in sys.stdin:
  try:
   line = line.strip()
   decoded = json.loads(line)
   device_id = decoded["device_id"]
   print device_id
  except Exception,ex:
   pass

 end = time.clock()
 print "The cost time is: %f" %(end - start)

t1()

以上代碼能順利完成任務。

不幸的是,現(xiàn)在是大數(shù)據(jù)時代,數(shù)據(jù)量嘛,自然都很大。用了一萬條數(shù)據(jù)做測試,耗時達到了驚人的。。。將近10s。

轉換下思路,采用正則匹配的方式

#!/usr/bin/env python

import re
import sys
import time

def t1():
 start = time.clock()
 count = 0
 for line in sys.stdin:
  line = line.strip()
  pattern = re.compile("(?:\"device_id\":\")([^\"]+)")
  search = pattern.search(line)
  if search:
   count += 1
   #print search.groups()[0]
 end = time.clock()
 print "The count is: %d" %(count)
 print "The cost time is: %f" %(end - start)

t1()

注意匹配的時候

re.compile("(?:\"device_id\":\")([^\"]+)") 

第一個分組表示不捕獲,只捕獲后面的分組。

同樣一萬條數(shù)據(jù),運行耗時是。。。0.05s。效率提高了多少倍,表示算不過來了。

以上這篇python解析json串與正則匹配對比方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • 使用卷積神經(jīng)網(wǎng)絡(CNN)做人臉識別的示例代碼

    使用卷積神經(jīng)網(wǎng)絡(CNN)做人臉識別的示例代碼

    這篇文章主要介紹了使用卷積神經(jīng)網(wǎng)絡(CNN)做人臉識別的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-03-03
  • Python socket模塊實現(xiàn)的udp通信功能示例

    Python socket模塊實現(xiàn)的udp通信功能示例

    這篇文章主要介紹了Python socket模塊實現(xiàn)的udp通信功能,結合具體實例形式分析了Python使用socket模塊實現(xiàn)UDP通信客戶端與服務器端相關實現(xiàn)技巧,需要的朋友可以參考下
    2019-04-04
  • Python簡單實現(xiàn)區(qū)域生長方式

    Python簡單實現(xiàn)區(qū)域生長方式

    今天小編就為大家分享一篇Python簡單實現(xiàn)區(qū)域生長方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-01-01
  • python3.3實現(xiàn)乘法表示例

    python3.3實現(xiàn)乘法表示例

    這篇文章主要介紹了python3.3實現(xiàn)乘法表示例,需要的朋友可以參考下
    2014-02-02
  • Python實現(xiàn)高效求解素數(shù)代碼實例

    Python實現(xiàn)高效求解素數(shù)代碼實例

    這篇文章主要介紹了Python實現(xiàn)高效求解素數(shù)代碼實例,本文直接給出代碼實例,需要的朋友可以參考下
    2015-06-06
  • 利用PyQT5日期控件制作一個小日歷

    利用PyQT5日期控件制作一個小日歷

    這篇文章主要介紹了利用PyQT5的日期控件制作一個小日歷,因為pyqt5已經(jīng)自帶了相關的日期控件,只需要明白如何調用再加上比較個性化的功能,這個日歷的小控件就制作完成了。需要的可以參考一下
    2022-01-01
  • 最新評論

    彰化市| 镇安县| 祥云县| 湟源县| 宝坻区| 嫩江县| 封开县| 伊川县| 江山市| 商水县| 鄂伦春自治旗| 陈巴尔虎旗| 长乐市| 阜阳市| 枣强县| 渝北区| 漳平市| 汾阳市| 康定县| 分宜县| 竹北市| 濮阳市| 深水埗区| 遵义市| 晋城| 松潘县| 灵寿县| 宜兴市| 新蔡县| 田阳县| 麦盖提县| 池州市| 平舆县| 双桥区| 淳化县| 鄂托克旗| 余干县| 大邑县| 盐源县| 精河县| 汉中市|