使用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设计】。

相关文章

Python中的 ansible 动态Inventory 脚本

Python中的 ansible 动态Inventory 脚本

1.Ansible Inventory  介绍; Ansible Inventory 是包含静态 Inventory 和动态 Inventory 两部分的,静态 Invento...

python实现多进程通信实例分析

python实现多进程通信实例分析

操作系统会为每一个创建的进程分配一个独立的地址空间,不同进程的地址空间是完全隔离的,因此如果不加其他的措施,他们完全感觉不到彼此的存在。那么进程之间怎么进行通信?他们之间的关联是怎样的?...

Python的Flask框架应用程序实现使用QQ账号登录的方法

Flask-OAuthlib是OAuthlib的Flask扩展实现, 项目地址: https://github.com/lepture/flask-oauthlib 主要特性: 支...

django 数据库连接模块解析及简单长连接改造方法

工作中纯服务端的项目用到了线程池和django的ORM部分。django 的数据库连接在每一个线程中开启一份,并在查询完毕后自动关闭连接。 线程池处理任务时,正常使用的连接中不会被关闭,...

举例详解Python中yield生成器的用法

yield是生成的意思,但是在python中则是作为生成器理解,生成器的用处主要可以迭代,这样简化了很多运算模型(还不是很了解是如何简化的)。 yield是一个表达式,是有返回值的. 当...