該腳本是為了結(jié)合之前的編寫的腳本,來實現(xiàn)數(shù)據(jù)的比對模塊,實現(xiàn)數(shù)據(jù)的自動化!由于數(shù)據(jù)格式是定死的,該代碼只做參考,有什么問題可以私信我!
公司主營業(yè)務(wù):網(wǎng)站制作、成都做網(wǎng)站、移動網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。成都創(chuàng)新互聯(lián)是一支青春激揚、勤奮敬業(yè)、活力青春激揚、勤奮敬業(yè)、活力澎湃、和諧高效的團隊。公司秉承以“開放、自由、嚴謹、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團隊有機會用頭腦與智慧不斷的給客戶帶來驚喜。成都創(chuàng)新互聯(lián)推出義馬免費做網(wǎng)站回饋大家。CSV的數(shù)據(jù)格式截圖如下:
readDataToDic.py源代碼如下:
#coding=utf8 import csv ''' 該模塊的主要功能,是根據(jù)已有的csv文件, 通過readDataToDicl函數(shù),把csv中對應的部分, 寫入字典中,每個字典當當作一條json數(shù)據(jù) ''' class GenExceptData(object): def __init__(self): try: #用來存放json數(shù)據(jù)的字典 self.dataDic={} #存放csv中讀取的數(shù)據(jù) self.mdbuffer=[] #打開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ù)穿件為為字典類型的 self.readDataToDicl() #保存文件 except Exception,e: print "Read Excel error:",e finally: #關(guān)閉csv文件 csvHand.close() def readDataToDicl(self): try: #獲取mdbuffer中的元素個數(shù) rowNumber=len(self.mdbuffer) #設(shè)置當前行號 currentrow=1 #設(shè)置json數(shù)據(jù)的屬性值 propertyJson={} #讀取列表中的元素 for row in range(1,rowNumber): #創(chuàng)建一個臨時變量用來存取一次循環(huán)的屬性鍵值 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 #調(diào)用字典的update函數(shù),把temp中的鍵值對 #添加到 propertyJson字典中 propertyJson.update(temp) #使用continue,如果為if條件為true則循環(huán)執(zhí)行if語句模塊 continue else: #把行號設(shè)置為當前行 currentrow=row #把當前的屬性解碼放入propertyName propertyName=currentItem[3].decode("gbk") #把當前的屬性值解碼放入propertyName propertyValue=currentItem[4].decode("gbk") #把serviceId方式字典propertyJson中 propertyJson["serviceId"]=serviceId #把屬性/值對放入propertyJson字典中 propertyJson[propertyName]=propertyValue #輸入字典中的值,并對值進行解碼 #該部分用于調(diào)試使用 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()
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。