python字典键值存csv_Python把对应格式的csv文件转换成字典类型存储脚本的方法

该脚本是为了结合之前的编写的脚本,来实现数据的比对模块,实现数据的自动化!由于数据格式是定死的,该代码只做参考,有什么问题可以私信我!

CSV的数据格式截图如下:

20190212101014.jpg

readDataToDic.py源代码如下:

#coding=utf8

import 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()

运行结果图:

20190212101028.jpg

以上这篇Python把对应格式的csv文件转换成字典类型存储脚本的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

本文标题: Python把对应格式的csv文件转换成字典类型存储脚本的方法

本文地址: http://www.cppcns.com/jiaoben/python/251874.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值