2019-05-15 读取excel表格生成字典

其实本来是想先从excel读取数据,生成字典后写到yml文件里的,不过暂时时间不够,先把读取excel的脚本写了记下来。
思路是这样的,先读excel文件,在这里是.xlsx的文件,所以用xlrd模块。.csv格式的用pandas更方便。
excel的第一行作为字典的key值,后面每一行生成一个字典,values就是每行的相应值。
循环遍历excel的列生成字典格式,然后再把每一行生成的字典放到一个列表里,最后输出的是一个包含很多字典的列表,每一个字典取得是第一行以外每行的值。最后这个脚本是用python3,加参数要处理的excel文件名。
努力学习python中。。。

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import xlrd
import sys
def xls_list(argv):
  data = xlrd.open_workbook(argv)
  table = data.sheets()[0]
  nrows = table.nrows   #取得行数
  ncols = table.ncols   #取得列数
  key1 = table.row_values(0)   #第一行是字典的key值
  d2 = []   #空列表,用于存放最终生成的字典数据
  for r in range(1, nrows):
      v1 = table.row_values(r)   #循环读取每行数据
      d1 = {}       #每一行生成一个字典
      for i in range(0,ncols):     #循环把每行的数据放入相应字典
        d1.update({key1[i]:v1[i], key1[i]:v1[i]})   #现在d1是字典格式
      d2.append(d1)
  return(d2)
def main(argv):
    file = argv[1]
    d3 = xls_list(file)