使用python3+xlrd解析Excel的实例

yipeiwu_com6年前Python基础

实例如下所示:

# -*- coding: utf-8 -*-
import xlrd
def open_excel(file = 'file.xls'):#打开要解析的Excel文件
  try:
    data = xlrd.open_workbook(file)
    return data
  except Exception as e:
    print(e)

def excel_by_index(file = 'file.xls', colindex = 0, by_index = 0):#按表的索引读取
  data = open_excel(file)#打开excel文件
  tab = data.sheets()[by_index]#选择excel里面的Sheet
  nrows = tab.nrows#行数
  ncols = tab.ncols#列数
  colName = tab.row_values(colindex)#第0行的值
  list = []#创建一个空列表
  for x in range(0, nrows):
    row = tab.row_values(x)
    if row:
      app = {}#创建空字典
      for y in range(0, ncols):
        app [ colName[y] ] = row[y]
      list.append(app)
  return list

def read_excel(file = 'file.xls', by_index = 0):#直接读取excel表中的各个值
  data = open_excel(file)#打开excel文件
  tab = data.sheets()[by_index]#选择excel里面的Sheet
  nrows = tab.nrows#行数
  ncols = tab.ncols#列数
  for x in range(0, nrows):
     for y in range(0, ncols):
       value = tab.cell(x,y).value
       print(tab.cell(x, y).value)
def main():
  # print('input the path of your file:')
  # a = open_excel(r'D:\smt_ioe\untitled\analysis_excel\my.xls')
  # print(a)
  b = excel_by_index(r'D:\smt_ioe\untitled\analysis_excel\my.xls', 0, 2)
  m = []
  for i in range(b.__len__()):
    c = b[i]
    # a = c['name']
  for x in c:
    if x == 'date':
      print(x)
  print('meng')
  read_excel(r'D:\smt_ioe\untitled\analysis_excel\my.xls',2)

if __name__ == '__main__':
  main()

以上这篇使用python3+xlrd解析Excel的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Django 实现图片上传和显示过程详解

第1章 新建工程和创建app 新建工程和创建app就不用贴出来了,我这里是测试图片上传的功能能否实现,所以项目都是新的,正常在以有的app下就可以 第2章 模型层: 2.1创建数据库...

Python3 tkinter 实现文件读取及保存功能

Python3 tkinter 实现文件读取及保存功能

tkinter介绍 tkinter是python自带的GUI库,是对图形库TK的封装 tkinter是一个跨平台的GUI库,开发的程序可以在win,linux或者mac下运行 #...

简单介绍Python中的JSON使用

JSON进阶 Python的dict对象可以直接序列化为JSON的{},不过,很多时候,我们更喜欢用class表示对象,比如定义Student类,然后序列化: import json...

利用Python绘制MySQL数据图实现数据可视化

利用Python绘制MySQL数据图实现数据可视化

本教程的所有Python代码可以在网上的IPython notebook中获取。 考虑在公司里使用Plotly?可以看一下Plotly的on-premises企业版。(注:On-prem...

Pytorch根据layers的name冻结训练方式

使用model.named_parameters()可以轻松搞定, model.cuda() # ######################################...