zoukankan      html  css  js  c++  java
  • python读取csv文件、excel文件并封装成dict类型的list,直接看代码

    # coding=UTF-8
    import csv
    import xlrd


    class ReaderFile():
    """
    读取csv文件
    filePath:文件路径
    """

    def getCsvValue(self, filePath):
    # 用于存放返回dict的list
    dictList = [];
    # 打开指定路径的文件
    with open(filePath) as file:
    # 读取csv文件
    datareader = csv.reader(file);
    # 读取的csv文件内容转换成list
    csvList = list(datareader);
    # 获取csv的第一列为dict的key值
    keyList = csvList[0];
    # 将csv取出的数据处理成dict形式
    for value in range(1, len(csvList)):
    # dict必须声明在此位置,后面的dictList.append()时里面的dict是不同的对象,若声明全局变量,那dictList中的dict的指针全是指向同一个对象,值完全一致
    csvDict = {};
    for item in range(0, len(keyList)):
    # 向dict中添加key和value
    csvDict[keyList[item]] = csvList[value][item];
    # 将处理完成的dict追加到dictList中
    dictList.append(csvDict)
    return dictList;

    """
    读取excel文件
    filePath:文件路径
    sheetName:要读取的sheet工作表的名称
    """

    def getExcelValue(self, filePath, sheetName):
    #用于存放获取封装的dict的list
    allList = [];
    # 读取excel文件
    workbook = xlrd.open_workbook(filePath);
    # 根据sheet名称读取sheet内容
    sheetBook = workbook.sheet_by_name(sheetName);
    # 获取第一行的内容作为key
    keyList = sheetBook.row_values(0);
    # 对第二行及之后的内容进行遍历,与keyList组合并封装成dict
    for value in range(1, sheetBook.nrows):
    listDict = {};
    for key in range(0, len(keyList)):
    listDict[keyList[key]] = sheetBook.row_values(value)[key];
    allList.append(listDict)
    return allList;
  • 相关阅读:
    vue插件大全
    提高webpack的构建速度的几种方法概括
    当async/await碰见forEach-------------爆炸
    jquery 源码解析 节点遍历
    jquery工具类函数
    jqueryUI 插件
    Jquery常用插件
    jquery 基础-Ajax应用
    JavaScipt 源码解析 Sizzle选择器
    JavaScipt 源码解析 css选择器
  • 原文地址:https://www.cnblogs.com/zw520ly/p/7374195.html
Copyright © 2011-2022 走看看