国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python把對應格式的csv文件轉換成字典類型存儲腳本的方法

2020-02-16 01:05:43
字體:
來源:轉載
供稿:網友

該腳本是為了結合之前的編寫的腳本,來實現數據的比對模塊,實現數據的自動化!由于數據格式是定死的,該代碼只做參考,有什么問題可以私信我!

CSV的數據格式截圖如下:

Python把對應格式的csv文件轉換成字典類型存儲腳本

readDataToDic.py源代碼如下:

#coding=utf8import csv '''該模塊的主要功能,是根據已有的csv文件,通過readDataToDicl函數,把csv中對應的部分,寫入字典中,每個字典當當作一條json數據'''class GenExceptData(object):  def __init__(self):    try:      #用來存放json數據的字典      self.dataDic={}      #存放csv中讀取的數據      self.mdbuffer=[]      #打開csv文件,設置讀的權限      csvHand=open("20170510174450.csv","r")      #創建讀取csv文件句柄      readcsv=csv.reader(csvHand)      #把csv的數據讀取到mdbuffer中      for row in readcsv:          self.mdbuffer.append(row)       #把數據穿件為為字典類型的      self.readDataToDicl()      #保存文件    except Exception,e:      print "Read Excel error:",e    finally:      #關閉csv文件      csvHand.close()   def readDataToDicl(self):    try:      #獲取mdbuffer中的元素個數      rowNumber=len(self.mdbuffer)      #設置當前行號      currentrow=1      #設置json數據的屬性值      propertyJson={}      #讀取列表中的元素         for row in range(1,rowNumber):        #創建一個臨時變量用來存取一次循環的屬性鍵值        temp={}        #獲取列表中一個元素        item=self.mdbuffer[row]        #獲取當前元素,當前元素代表的是每個        #事件起始的位置        currentItem=self.mdbuffer[currentrow]        #獲取serviceId并進行解碼        serviceId= currentItem[2].decode("gbk")        #獲取屬性并進行解碼,把解碼的值存入propertyName        propertyName=item[3].decode("gbk")        #獲取屬性值并進行解碼,把解碼的值存入propertyValue        propertyValue=item[4].decode("gbk")        #判斷埋點事件與serviceId是否相等        if item[0]==currentItem[0] and item[2]==currentItem[2]:          #把serviceId方式字典propertyJson中          propertyJson["serviceId"]=serviceId           #把屬性/值對放入temp字典中                                   temp[propertyName]=propertyValue          #調用字典的update函數,把temp中的鍵值對          #添加到 propertyJson字典中          propertyJson.update(temp)          #使用continue,如果為if條件為true則循環執行if語句模塊          continue         else:          #把行號設置為當前行          currentrow=row           #把當前的屬性解碼放入propertyName                    propertyName=currentItem[3].decode("gbk")          #把當前的屬性值解碼放入propertyName          propertyValue=currentItem[4].decode("gbk")          #把serviceId方式字典propertyJson中           propertyJson["serviceId"]=serviceId            #把屬性/值對放入propertyJson字典中           propertyJson[propertyName]=propertyValue           #輸入字典中的值,并對值進行解碼          #該部分用于調試使用           for key,val in propertyJson.items():            print key,"=",val.encode("utf8")          print "#"*50           #為下次做準備,清除字典中的元素          propertyJson.clear()                   except Exception,e:      print "Reading Data TO Dic Error:",e    def test():  GenExceptData()  if __name__=="__main__":  test()            
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 内江市| 临泉县| 安乡县| 栾城县| 扬州市| 应用必备| 盐池县| 如东县| 重庆市| 鹤峰县| 绥德县| 手游| 罗甸县| 柳江县| 荣昌县| 萍乡市| 山阴县| 长宁区| 屏南县| 新源县| 富顺县| 五家渠市| 淄博市| 南宁市| 屏山县| 五指山市| 华宁县| 错那县| 庄浪县| 鄯善县| 新河县| 西城区| 汕头市| 伊川县| 偏关县| 沾化县| 安顺市| 安龙县| 石河子市| 镇原县| 长武县|