该脚本是为了结合之前的编写的脚本,来实现数据的比对模块,实现数据的自动化!由于数据格式是定死的,该代码只做参考,有什么问题可以私信我!
<强> CSV的数据格式截图如下:强>
<强> readDataToDic.py源代码如下:强>
#=utf8编码 导入csv “‘ 该模块的主要功能,是根据已有的csv文件, 通过readDataToDicl函数,把csv中对应的部分, 写入字典中,每个字典当当作一条json数据 “‘ 类GenExceptData(对象): def __init__(自我): 试一试: #用来存放json数据的字典 self.dataDic={} #存放csv中读取的数据 self.mdbuffer=[] #打开csv文件,设置读的权限 csvHand=开放(“20170510174450. csv”、“r”) #创建读取csv文件句柄 readcsv=csv.reader (csvHand) #把csv的数据读取到mdbuffer中 在readcsv行: self.mdbuffer.append(行) #把数据穿件为为字典类型的 self.readDataToDicl () #保存文件 除了例外,e: 打印“读取Excel错误:e 最后: #关闭csv文件 csvHand.close () def readDataToDicl(自我): 试一试: #获取mdbuffer中的元素个数 rowNumber=len (self.mdbuffer) #设置当前行号 currentrow=1 #设置json数据的属性值 propertyJson={} #读取列表中的元素 rowNumber的行范围(1): #创建一个临时变量用来存取一次循环的属性键值 temp={} #获取列表中一个元素 项=self.mdbuffer(行) #获取当前元素,当前元素代表的是每个 #事件起始的位置 currentItem=self.mdbuffer [currentrow] #获取serviceId并进行解码 serviceId=currentItem [2] .decode (“gbk”) #获取属性并进行解码,把解码的值存入propertyName propertyName=项目[3].decode (“gbk”) #获取属性值并进行解码,把解码的值存入propertyValue propertyValue=https://www.yisu.com/zixun/item [4] .decode (“gbk”) #判断埋点事件与serviceId是否相等 如果项目[0]==currentItem[0]和item [2]==currentItem [2]: #把serviceId方式字典propertyJson中 propertyJson (“serviceId”)=serviceId #把属性/值对放入临时字典中 临时[propertyName]=propertyValue #调用字典的更新函数,把临时中的键值对 #添加到propertyJson字典中 propertyJson.update(临时) #使用继续,如果为如果条件为真则循环执行如果语句模块 继续 其他: #把行号设置为当前行 currentrow=行 #把当前的属性解码放入propertyName propertyName=currentItem [3] .decode (“gbk”) #把当前的属性值解码放入propertyName propertyValue=https://www.yisu.com/zixun/currentItem [4] .decode (“gbk”) #把serviceId方式字典propertyJson中 propertyJson (“serviceId”)=serviceId #把属性/值对放入propertyJson字典中 propertyJson [propertyName]=propertyValue #输入字典中的值,并对值进行解码 #该部分用于调试使用 关键,val propertyJson.items (): 打印键,“=?val.encode (use utf8) 打印“#”* 50 #为下次做准备,清除字典中的元素 propertyJson.clear () 除了例外,e: Dic错误:打印“读取数据”,e def测试(): GenExceptData () if __name__==癬_main__”: 测试() >之前运行结果图:
以上这篇Python把对应格式的csv文件转换成字典类型存储脚本的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
Python把对应格式的csv文件转换成字典类型存储脚本的方法