pythoncsv格式转换(Python把对应格式的csv文件转换成字典类型存储脚本的方法)
类别:脚本大全 浏览量:2688
时间:2022-03-29 16:32:16 pythoncsv格式转换
Python把对应格式的csv文件转换成字典类型存储脚本的方法该脚本是为了结合之前的编写的脚本,来实现数据的比对模块,实现数据的自动化!由于数据格式是定死的,该代码只做参考,有什么问题可以私信我!
csv的数据格式截图如下:
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() |
运行结果图:
以上这篇python把对应格式的csv文件转换成字典类型存储脚本的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持开心学习网。
原文链接:https://blog.csdn.net/henni_719/article/details/74930674
您可能感兴趣
- python设置微信(利用python实现在微信群刷屏的方法)
- python删除列表中的重复元素(Python实现去除列表中重复元素的方法总结7种方法)
- python详细讲解类方法的使用(浅谈python标准库--functools.partial)
- python中读取文件怎么操作(Python实现的读取文件内容并写入其他文件操作示例)
- python列表生成怎么用(详解python列表生成式和列表生成式器区别)
- python类继承和封装(Python面向对象程序设计类的封装与继承用法示例)
- python3json序列化(Python3.5 Json与pickle实现数据序列化与反序列化操作示例)
- python生成文本文件(python+os根据文件名自动生成文本)
- python识别验证码教程(Python3.5 + sklearn利用SVM自动识别字母验证码方法示例)
- 基于python的加密算法(python实现维吉尼亚加密法)
- pythondatetime库详解(python使用time、datetime返回工作日列表实例代码)
- 超简单使用Python换脸实例(超简单使用Python换脸实例)
- python如何把字符串转换成数字(python实现字符串加密成纯数字)
- python闭包的讲解(详解python函数的闭包问题内部函数与外部函数详述)
- python中mod函数的使用方法(详解Python3中ceil函数用法)
- python调用elasticsearch(Python-ElasticSearch搜索查询的讲解)
- 必看 8月,相比七夕,更需要注意的是这些事(必看8月相比七夕)
- 8月23日11时16分将迎处暑,逐渐进入气象意义上的秋天(8月23日11时16分将迎处暑)
- 花不语 下 如果重来一次的话,你还会这么选择吗(花不语下如果重来一次的话)
- 城市记忆之上海 最难忘的是老弄堂里的市井味道(城市记忆之上海)
- 太鸡贼了,这老小区轻松搞定了停车问题(这老小区轻松搞定了停车问题)
- 太鸡贼了,这老小区轻松搞定了停车问题(这老小区轻松搞定了停车问题)
热门推荐
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9