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

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文件,設置讀的權(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:
#關閉csv文件
csvHand.close()
def readDataToDicl(self):
try:
#獲取mdbuffer中的元素個數(shù)
rowNumber=len(self.mdbuffer)
#設置當前行號
currentrow=1
#設置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:
#把行號設置為當前行
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()
另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
新聞標題:Python把對應格式的csv文件轉(zhuǎn)換成字典類型存儲腳本的方法-創(chuàng)新互聯(lián)
瀏覽路徑:http://chinadenli.net/article12/diiggc.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供標簽優(yōu)化、動態(tài)網(wǎng)站、用戶體驗、全網(wǎng)營銷推廣、網(wǎng)站設計公司、面包屑導航
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容