8、利用xlrd读取excel数据

原创 2018年04月16日 22:18:36

在同一个sheet表中可以有多个表,表与表之间用空格来隔离,遇到空格,则认为这个表结束了。


代码如下:

import xlrd
file_path = "C:/Users/Administrator/Desktop/python/excel/1.xlsx"
sheet_name = '表2'
table = '学生表'
def read_excel_by_name(file=file_path,sheet_name=sheet_name,table_name=table):
    wb = xlrd.open_workbook(file)
    sheet = wb.sheet_by_name(sheet_name)
    col_val = sheet.col_values(0)
    nrows = sheet.nrows
    row_end = nrows-1
    for row in range(nrows):
        if col_val[row] == table_name:
            table_row = row
            row_start = table_row + 1
            break
    for row in range(row_start,nrows):
        if col_val[row] == '':
            row_end = row - 1
            break
    col_names = list(sheet.row_values(row_start))
    while '' in col_names:
        col_names.remove('')
    lis = []
    for row in range(row_start + 1,row_end + 1):
        row_values = sheet.row_values(row)
        if row_values:
            app = {}
            for i in range(len(col_names)):
                app[col_names[i]] = row_values[i]
            lis.append(app)

    return lis


s = read_excel_by_name(file=file_path,sheet_name=sheet_name,table_name=table)

print(s)


读取配置文件:


代码如下:

#coding=utf-8
import xlrd
import sys,os
def read_inparam(classname):
    wb = xlrd.open_workbook('D:\\workspace\\Myproject\\testconfig.xlsx')
    sheet = wb.sheet_by_name("Sheet2")
    rows = sheet.nrows
    list = []
    for i in range(0,rows):
        cols = sheet.col_values(0)
        if cols[i] == "":
            break
        if cols[i] == classname:
            inputfile = sheet.row_values(i)[2]
            presetfile = sheet.row_values(i)[3]
            list.append(inputfile)
            list.append(presetfile)
            return list
    return list


def  test():
    classname = __file__  #获取当前文件名字Scene_02
    classname = classname.split("/")[-1].split(".")[0]
    list = read_inparam(classname)
    print(list)


if __name__ == '__main__':
    test()

Two impromptus - or how Python helped us design our kitchen

Andrew Koenig在PyCon DC 2004上的文章。http://www.python.org/pycon/dc2004/papers/52/
  • kingofark
  • kingofark
  • 2004-04-12 10:59:00
  • 1330

python读取Excel

  • 2018年04月17日 16:43
  • 3KB
  • 下载

Python 使用xlrd库读取excel

xlrd库提供对excel的读操作,下载地址为https://pypi.python.org/pypi/xlrd,xlrd库的安装可以参考本文的另一篇博文http://blog.csdn.net/u0...
  • u011974126
  • u011974126
  • 2016-04-06 19:06:38
  • 4874

python使用xlrd读取excel数据时,整数和日期变小数的解决办法

想让excel数据返回一个字符串字典list,造了一个excel。数据如下: 用下面代码读取 读取后发现整型和日期变成了小数: 解决办法就是在数字和日期的单元格内容前加上一个英...
  • HH775313602
  • HH775313602
  • 2017-12-05 16:35:37
  • 776

[python]使用xlrd对Excel表格进行读写操作

一、安装xlrd模块 到python官网下载http://pypi.python.org/pypi/xlrd 二、使用介绍 2.1 导入模块 import xlrd 2.2 打开Excel文件读取数...
  • hitwangpeng
  • hitwangpeng
  • 2016-05-10 17:06:13
  • 27854

python24 xlrd包 windows 环境

  • 2012年01月06日 14:26
  • 306KB
  • 下载

一个小例子集合xlrd,matplotlib,numpy,scipy使用方法(从Excel导入数据)

一个小例子集合xlrd,matplotlib,numpy,scipy使用方法(从Excel导入数据)最近因为一篇论文的原因,要从Excel中取得部分数据平作图,但是得到的图都是位图,不是太好插入到论文...
  • cdqn10086
  • cdqn10086
  • 2017-04-13 21:58:09
  • 2260

python中使用xlrd获取合并单元格

处理excel表格的时候经常遇到合并单元格的情况,使用xlrd中的merged_cells的方法可以获取当前文档中的所有合并单元格的位置信息。 import xlrd xls = xlrd.ope...
  • wuhendadi
  • wuhendadi
  • 2016-11-23 15:22:32
  • 4638

xlrd-1.0.0.tar

  • 2016年08月10日 09:53
  • 2.44MB
  • 下载

如何解决xlrd读取excel时的中文异常

原文出处:http://openexz.sinaapp.com/2010/07/26/%E5%A6%82%E4%BD%95%E8%A7%A3%E5%86%B3xlrd%E8%AF%BB%E5%8F%9...
  • aaronchan1028
  • aaronchan1028
  • 2013-12-26 10:32:44
  • 5504
收藏助手
不良信息举报
您举报文章:8、利用xlrd读取excel数据
举报原因:
原因补充:

(最多只允许输入30个字)