python列表、字典与csv
在日常数据分析时最常打交道的是csv文件和list,dict类型。涉及到的主要需求有:
- 将一个二重列表[[],[]]写入到csv文件中
- 从文本文件中读取返回为列表
- 将一字典写入到csv文件中
- 从csv文件中读取一个字典
- 从csv文件中读取一个计数字典
实现如下:
# 功能:将一个二重列表写入到csv文件中
# 输入:文件名称,数据列表
def createListCSV(fileName="", dataList=[]):
with open(fileName, "wb") as csvFile:
csvWriter = csv.writer(csvFile)
for data in dataList:
csvWriter.writerow(data)
csvFile.close
》
# 功能:从文本文件中读取返回为列表的形式
# 输入:文件名称,分隔符(默认,)
def readListCSV(fileName="", splitsymbol=","):
dataList = []
with open(fileName, "r") as csvFile:
dataLine = csvFile.readline().strip("\n")
while dataLine != "":
tmpList = dataLine.split(splitsymbol)
dataList.append(tmpList)
dataLine = csvFile.readline().strip("\n")
csvFile.close()
return dataList
》
# 功能:将一字典写入到csv文件中
# 输入:文件名称,数据字典
def createDictCSV(fileName="", dataDict={}):
with open(fileName, "wb") as csvFile:
csvWriter = csv.writer(csvFile)
for k,v in dataDict.iteritems():
csvWriter.writerow([k,v])
csvFile.close()
》
# 功能:从csv文件中读取一个字典
# 输入:文件名称,keyIndex,valueIndex
def readDictCSV(fileName="", keyIndex=0, valueIndex=1):
dataDict = {}
with open(fileName, "r") as csvFile:
dataLine = csvFile.readline().strip("\n")
while dataLine != "":
tmpList = dataLine.split(splitsymbol)
dataDict[tmpList[keyIndex]] = tmpList[valueIndex]
dataLine = csvFile.readline().strip("\n")
csvFile.close()
return dataDict
》
# 功能:从csv文件中读取一个计数字典
# 输入:文件名称,keyIndex
def readDictCSV(fileName="", keyIndex=0):
dataDict = {}
with open(fileName, "r") as csvFile:
dataLine = csvFile.readline().strip("\n")
while dataLine != "":
tmpList = dataLine.split(splitsymbol)
if dataDict.get(tmpList[keyIndex]) == None:
dataDict[tmpList[keyIndex]] = 0
dataDict[tmpList[keyIndex]] = dataDict.get(tmpList[keyIndex]) + 1
dataLine = csvFile.readline().strip("\n")
csvFile.close()
return dataDict
python列表、字典与csv的更多相关文章
- python :列表 字典 集合 类 ----局部变量可以改全局变量
#列表 字典 集合 类 ----局部变量可以改全局变量,除了整数和字符串 names=["alex","jack","luck"] def ...
- python 列表,字典,元组,字符串,QuerySet之间的相互转换
1. 列表转换成字典list1 = ['key1','key2','key3']list2 = ['value1','value2'] dict1 = zip(list1,list2) # dict( ...
- python 列表 字典 读写文件:pickle模块的基本使用
python数据持久存储:pickle模块的基本使用(转载) 作者: pzxbc 出处: http://pzxbc.cnblogs.com/ 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保 ...
- python 列表 字典转json
一.Dictionary 转为JSON 将dict转为JSON,这里利用包json import jsonaItem = {}aItem["id"] = "2203&qu ...
- python 列表字典按照字典中某个valu属性进行排序
对用户名进行排序 1. 直接上代码 base_dn_list = [ {', 'tenant': 'HAD', 'role': {'roleID': 'project', 'roleName': '项 ...
- python列表、元祖、字典
python列表 ['a','1','vs2'] 里面的值可以改 python元祖 ('a','1','css','sdf12') 里面的值不能改 python字典 {'s ...
- Python列表、元组、字典和字符串的常用函数
Python列表.元组.字典和字符串的常用函数 一.列表方法 1.ls.extend(object) 向列表ls中插入object中的每个元素,object可以是字符串,元组和列表(字符串“abc”中 ...
- [转载] Python 列表(list)、字典(dict)、字符串(string)常用基本操作小结
创建列表 sample_list = ['a',1,('a','b')] Python 列表操作 sample_list = ['a','b',0,1,3] 得到列表中的某一个值 value_star ...
- Python 列表(list)、字典(dict)、字符串(string)常用基本操作小结
创建列表 sample_list = ['a',1,('a','b')] Python 列表操作 sample_list = ['a','b',0,1,3] 得到列表中的某一个值 value_star ...
随机推荐
- UIAutomation识别UI元素
MS UI Automation(Microsoft User Interface Automation:UIA)是随.net framework3.0一起发布的,虽然在如今这个几乎每天都有各种新名词 ...
- Tomcat error: A child container failed during start
Tomcat error: A child container failed during start java.lang.NoClassDefFoundError: org/quartz/Sched ...
- BZOJ 1053 [HAOI2007]反素数ant
1053: [HAOI2007]反素数ant Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 1948 Solved: 1094[Submit][St ...
- -_-#【CSS3】浏览器前缀
前缀 浏览器 -khtml Konqueror(非常老的 Safari) -moz Firefox -o Opera -ms Internet Explorer -webkit Safari.Chro ...
- 通过redis的monitor命令排除故障
项目里有10台服务器都在一个刀箱里,其中一台是redis缓存服务器,另外的是app服务器.通过监控发现这个刀箱的流量750M,其中缓存服务器的流量达105M,这么高的流量已经造成其它项目的服务器网络延 ...
- CMOS Sensor的调试经验分享
转自:http://bbs.52rd.com/forum.php?mod=viewthread&tid=276351 CMOS Sensor的调试经验分享 我这里要介绍的就是CMOS摄像头的一 ...
- 数据结构(跳跃表):NOI 2004 郁闷的出纳员
郁闷的出纳员 [问题描述] OIER公司是一家大型专业化软件公司,有着数以万计的员工.作为一名出纳员,我的任务之一便是统计每位员工的工资.这本来是一份不错的工作,但是令人郁闷的是,我们的老板反复无常, ...
- CodeForces 689C Mike and Chocolate Thieves
题目链接:http://acm.hust.edu.cn/vjudge/problem/visitOriginUrl.action?id=412145 题目大意:给定一个数字n,问能不能求得一个最小的整 ...
- 程序集引用异常 处理 app.config内控制runtime运行时应用的程序集版本指向 assemblyBinding结点 bindingRedirect
异常: 解决方法: <?xml version="1.0" encoding="utf-8"?> <configuration> < ...
- 双有序队列算法——处理哈夫曼K叉树的高效算法
算法介绍: 哈夫曼树的思路及实现众所周知,大部分是用堆来维护和实现,这种思路比较清晰,在K比较小的时候处理较快(具体例子接下来再说),而且编程复杂度不是很高,利于应用.但是,其所用的数据结构是树,是在 ...