国产探花免费观看_亚洲丰满少妇自慰呻吟_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()            
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 垦利县| 东平县| 密云县| 黑山县| 建湖县| 房山区| 逊克县| 林周县| 茶陵县| 无锡市| 探索| 花莲市| 惠来县| 仙居县| 屯昌县| 古田县| 辽源市| 湟源县| 沂南县| 江北区| 乌兰县| 延长县| 辽阳县| 海门市| 分宜县| 茌平县| 康保县| 花莲市| 五指山市| 新干县| 安庆市| 喀什市| 广州市| 平乡县| 那坡县| 蓝山县| 科技| 蓝田县| 乐陵市| 河曲县| 且末县|