欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python把對(duì)應(yīng)格式的csv文件轉(zhuǎn)換成字典類(lèi)型存儲(chǔ)腳本的方法

 更新時(shí)間:2019年02月12日 10:11:44   作者:壞蛋是我  
今天小編就為大家分享一篇Python把對(duì)應(yīng)格式的csv文件轉(zhuǎn)換成字典類(lèi)型存儲(chǔ)腳本的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

該腳本是為了結(jié)合之前的編寫(xiě)的腳本,來(lái)實(shí)現(xiàn)數(shù)據(jù)的比對(duì)模塊,實(shí)現(xiàn)數(shù)據(jù)的自動(dòng)化!由于數(shù)據(jù)格式是定死的,該代碼只做參考,有什么問(wèn)題可以私信我!

CSV的數(shù)據(jù)格式截圖如下:

Python把對(duì)應(yīng)格式的csv文件轉(zhuǎn)換成字典類(lèi)型存儲(chǔ)腳本

readDataToDic.py源代碼如下:

#coding=utf8
import csv 
'''
該模塊的主要功能,是根據(jù)已有的csv文件,
通過(guò)readDataToDicl函數(shù),把csv中對(duì)應(yīng)的部分,
寫(xiě)入字典中,每個(gè)字典當(dāng)當(dāng)作一條json數(shù)據(jù)
'''
class GenExceptData(object):
  def __init__(self):
    try:
      #用來(lái)存放json數(shù)據(jù)的字典
      self.dataDic={}
      #存放csv中讀取的數(shù)據(jù)
      self.mdbuffer=[]
      #打開(kāi)csv文件,設(shè)置讀的權(quán)限
      csvHand=open("20170510174450.csv","r")
      #創(chuàng)建讀取csv文件句柄
      readcsv=csv.reader(csvHand)
      #把csv的數(shù)據(jù)讀取到mdbuffer中
      for row in readcsv:
          self.mdbuffer.append(row) 
      #把數(shù)據(jù)穿件為為字典類(lèi)型的
      self.readDataToDicl()
      #保存文件
    except Exception,e:
      print "Read Excel error:",e
    finally:
      #關(guān)閉csv文件
      csvHand.close()
 
  def readDataToDicl(self):
    try:
      #獲取mdbuffer中的元素個(gè)數(shù)
      rowNumber=len(self.mdbuffer)
      #設(shè)置當(dāng)前行號(hào)
      currentrow=1
      #設(shè)置json數(shù)據(jù)的屬性值
      propertyJson={}
      #讀取列表中的元素   
      for row in range(1,rowNumber):
        #創(chuàng)建一個(gè)臨時(shí)變量用來(lái)存取一次循環(huán)的屬性鍵值
        temp={}
        #獲取列表中一個(gè)元素
        item=self.mdbuffer[row]
        #獲取當(dāng)前元素,當(dāng)前元素代表的是每個(gè)
        #事件起始的位置
        currentItem=self.mdbuffer[currentrow]
        #獲取serviceId并進(jìn)行解碼
        serviceId= currentItem[2].decode("gbk")
        #獲取屬性并進(jìn)行解碼,把解碼的值存入propertyName
        propertyName=item[3].decode("gbk")
        #獲取屬性值并進(jìn)行解碼,把解碼的值存入propertyValue
        propertyValue=item[4].decode("gbk")
        #判斷埋點(diǎn)事件與serviceId是否相等
        if item[0]==currentItem[0] and item[2]==currentItem[2]:
          #把serviceId方式字典propertyJson中
          propertyJson["serviceId"]=serviceId 
          #把屬性/值對(duì)放入temp字典中                         
          temp[propertyName]=propertyValue
          #調(diào)用字典的update函數(shù),把temp中的鍵值對(duì)
          #添加到 propertyJson字典中
          propertyJson.update(temp)
          #使用continue,如果為if條件為true則循環(huán)執(zhí)行if語(yǔ)句模塊
          continue 
        else:
          #把行號(hào)設(shè)置為當(dāng)前行
          currentrow=row 
          #把當(dāng)前的屬性解碼放入propertyName          
          propertyName=currentItem[3].decode("gbk")
          #把當(dāng)前的屬性值解碼放入propertyName
          propertyValue=currentItem[4].decode("gbk")
          #把serviceId方式字典propertyJson中 
          propertyJson["serviceId"]=serviceId  
          #把屬性/值對(duì)放入propertyJson字典中 
          propertyJson[propertyName]=propertyValue 
          #輸入字典中的值,并對(duì)值進(jìn)行解碼
          #該部分用于調(diào)試使用 
          for key,val in propertyJson.items():
            print key,"=",val.encode("utf8")
          print "#"*50 
          #為下次做準(zhǔn)備,清除字典中的元素
          propertyJson.clear()
               
    except Exception,e:
      print "Reading Data TO Dic Error:",e
    
def test():
  GenExceptData()
  
if __name__=="__main__":
  test()

運(yùn)行結(jié)果圖:

Python把對(duì)應(yīng)格式的csv文件轉(zhuǎn)換成字典類(lèi)型存儲(chǔ)腳本

以上這篇Python把對(duì)應(yīng)格式的csv文件轉(zhuǎn)換成字典類(lèi)型存儲(chǔ)腳本的方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 對(duì)python中 math模塊下 atan 和 atan2的區(qū)別詳解

    對(duì)python中 math模塊下 atan 和 atan2的區(qū)別詳解

    今天小編就為大家分享一篇對(duì)python中 math模塊下 atan 和 atan2的區(qū)別詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-01-01
  • pyqt串口通信的項(xiàng)目實(shí)踐

    pyqt串口通信的項(xiàng)目實(shí)踐

    串口通信工業(yè)控制上面常用的,本文主要介紹了pyqt串口通信的項(xiàng)目實(shí)踐,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-12-12
  • 詳解Python字典小結(jié)

    詳解Python字典小結(jié)

    這篇文章主要介紹了詳解Python字典小結(jié),詳細(xì)的介紹了什么是字典且創(chuàng)建字典和示例,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2018-10-10
  • 詳解Python?matplotlib中的色彩使用詳解

    詳解Python?matplotlib中的色彩使用詳解

    matplotlib中提供了一些常見(jiàn)顏色的字符串,并封裝成了幾個(gè)顏色字典,這篇文章主要來(lái)和大家講解一下matplotlib中的色彩使用,需要的可以參考一下
    2023-07-07
  • PyCharm使用之配置SSH Interpreter的方法步驟

    PyCharm使用之配置SSH Interpreter的方法步驟

    這篇文章主要介紹了PyCharm使用之配置SSH Interpreter的方法步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • Python數(shù)據(jù)類(lèi)型--字典dictionary

    Python數(shù)據(jù)類(lèi)型--字典dictionary

    這篇文章主要介紹了Python數(shù)據(jù)類(lèi)型字典dictionary,字典是另一種可變?nèi)萜髂P?,且可存?chǔ)任意類(lèi)型對(duì)象。下面詳細(xì)內(nèi)容需要的小伙伴可以參考一下,希望對(duì)你有所幫助
    2022-02-02
  • Anaconda徹底刪除虛擬環(huán)境的正確方法

    Anaconda徹底刪除虛擬環(huán)境的正確方法

    這篇文章主要給大家介紹了關(guān)于Anaconda徹底刪除虛擬環(huán)境的正確方法,要在Anaconda中刪除一個(gè)虛擬環(huán)境,可以按照本文以下步驟進(jìn)行操作,需要的朋友可以參考下
    2023-10-10
  • python超參數(shù)優(yōu)化的具體方法

    python超參數(shù)優(yōu)化的具體方法

    在本篇文章里小編給大家整理了一篇關(guān)于python超參數(shù)優(yōu)化的具體方法,有需要的朋友們可以學(xué)習(xí)下。
    2021-08-08
  • Python安裝Scrapy庫(kù)的常見(jiàn)報(bào)錯(cuò)解決

    Python安裝Scrapy庫(kù)的常見(jiàn)報(bào)錯(cuò)解決

    本文主要介紹了Python安裝Scrapy庫(kù)的常見(jiàn)報(bào)錯(cuò)解決,文中通過(guò)圖文示例介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-11-11
  • Python英文文本分詞(無(wú)空格)模塊wordninja的使用實(shí)例

    Python英文文本分詞(無(wú)空格)模塊wordninja的使用實(shí)例

    今天小編就為大家分享一篇關(guān)于Python英文文本分詞(無(wú)空格)模塊wordninja的使用實(shí)例,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2019-02-02

最新評(píng)論