zoukankan      html  css  js  c++  java
  • python列表、字典与csv

    在日常数据分析时最常打交道的是csv文件和list,dict类型。涉及到的主要需求有:

    1. 将一个二重列表[[],[]]写入到csv文件中
    2. 从文本文件中读取返回为列表
    3. 将一字典写入到csv文件中
    4. 从csv文件中读取一个字典
    5. 从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("
    ")
            while dataLine != "":
                tmpList = dataLine.split(splitsymbol)
                dataList.append(tmpList)
                dataLine = csvFile.readline().strip("
    ")
            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("
    ")
            while dataLine != "":
                tmpList = dataLine.split(splitsymbol)
                dataDict[tmpList[keyIndex]] = tmpList[valueIndex]
                dataLine = csvFile.readline().strip("
    ")
            csvFile.close()
        return dataDict

    # 功能:从csv文件中读取一个计数字典
    # 输入:文件名称,keyIndex
    def readDictCSV(fileName="", keyIndex=0):
        dataDict = {}
        with open(fileName, "r") as csvFile:
            dataLine = csvFile.readline().strip("
    ")
            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("
    ")
            csvFile.close()
        return dataDict
  • 相关阅读:
    Python--前端之HTML
    Python--MySql(主键的创建方式、存储引擎、存储过程、索引、pymsql)
    python--MySql(外键约束、多表查询(*****))
    python--MySql 表记录的操作
    python--MySql
    Python--线程队列(queue)、multiprocessing模块(进程对列Queue、管道(pipe)、进程池)、协程
    Python--同步锁(互斥锁)、死锁(状态)、递归锁、信号量、Event对象
    Python--多线程、多进程常用概念
    Python--基础之socket编程
    ubuntu 安装 flashplayer
  • 原文地址:https://www.cnblogs.com/moye13/p/5291156.html
Copyright © 2011-2022 走看看