zoukankan      html  css  js  c++  java
  • python对excel操作

    python里面的xlrd模块详解(一)
    	</h1>
    	<div class="clear"></div>
    	<div class="postBody">
    		<div id="cnblogs_post_body" class="blogpost-body blogpost-body-html">
    

    那我就一下面积个问题对xlrd模块进行学习一下:

    1.什么是xlrd模块?

    2.为什么使用xlrd模块?

    3.怎样使用xlrd模块?

    1.什么是xlrd模块?

      ♦python操作excel主要用到xlrd和xlwt这两个库,即xlrd是读excel,xlwt是写excel的库。

    今天就先来说一下xlrd模块:

    一、安装xlrd模块

      ♦ 到python官网下载http://pypi.python.org/pypi/xlrd模块安装,前提是已经安装了python 环境。

      ♦或者在cmd窗口  pip install  xlrd

    二、使用介绍

     1、常用单元格中的数据类型

         ♦ 0. empty(空的),1 string(text), 2 number, 3 date, 4 boolean, 5 error, 6 blank(空白表格)

     2、导入模块

     import xlrd

      3、打开Excel文件读取数据

    data = xlrd.open_workbook(filename)#文件名以及路径,如果路径或者文件名有中文给前面加一个r拜师原生字符。

     4、常用的函数

           ♦ excel中最重要的方法就是book和sheet的操作

          1)获取book中一个工作表

    复制代码
    table = data.sheets()[0]          #通过索引顺序获取
    
    table = data.sheet_by_index(sheet_indx)) #通过索引顺序获取
    
    table = data.sheet_by_name(sheet_name)#通过名称获取
    
    以上三个函数都会返回一个xlrd.sheet.Sheet()对象
    

    names = data.sheet_names() #返回book中所有工作表的名字

    data.sheet_loaded(sheet_name
    or indx) # 检查某个sheet是否导入完毕

    复制代码

    如:

     

            2)行的操作

    复制代码
    nrows = table.nrows  #获取该sheet中的有效行数
    
    table.row(rowx)  #返回由该行中所有的单元格对象组成的列表
    
    table.row_slice(rowx)  #返回由该列中所有的单元格对象组成的列表
    
    table.row_types(rowx, start_colx=0, end_colx=None)    #返回由该行中所有单元格的数据类型组成的列表
    
    table.row_values(rowx, start_colx=0, end_colx=None)   #返回由该行中所有单元格的数据组成的列表
    
    table.row_len(rowx) #返回该列的有效单元格长度
    复制代码

     

           3)列(colnum)的操作

    复制代码
    ncols = table.ncols   #获取列表的有效列数
    
    table.col(colx, start_rowx=0, end_rowx=None)  #返回由该列中所有的单元格对象组成的列表
    
    table.col_slice(colx, start_rowx=0, end_rowx=None)  #返回由该列中所有的单元格对象组成的列表
    
    table.col_types(colx, start_rowx=0, end_rowx=None)    #返回由该列中所有单元格的数据类型组成的列表
    
    table.col_values(colx, start_rowx=0, end_rowx=None)   #返回由该列中所有单元格的数据组成的列表
    复制代码

    如:

     

          4)单元格的操作  

    复制代码
    table.cell(rowx,colx)   #返回单元格对象
    
    table.cell_type(rowx,colx)    #返回单元格中的数据类型
    
    table.cell_value(rowx,colx)   #返回单元格中的数据
    
    table.cell_xf_index(rowx, colx)   # 暂时还没有搞懂
    复制代码

    ♦单元格:单元格是表格中行与列的交叉部分,它是组成表格的最小单位,可拆分或者合并。单个数据的输入和修改都是在单元格中进行的

    如:

    注意:注意作用域问题,之前获取的sheet之后,都在获取到这个sheet值后,在进行,行和列以及单元格的操作。

     

    ♦ python解决open()函数、xlrd.open_workbook()函数文件名包含中文,sheet名包含中文报错的问题

     问题现象: 

      ♦1、使用open()函数、xlrd.open_workbook()函数打开文件,文件名若包含中文,会报错找不到这个文件或目录。 

      ♦2、获取sheet时若包含中文,也会报错。

    复制代码
    #打开文件
    file = open(filename,'rb')
    

    #打开excel文件
    workbook = xlrd.open_workbook(filename)

    #获取sheet
    sheet = workbook.sheet_by_name(sheetname)

    复制代码

    解决方案:

      ♦对参数进行转码即可。如:

    filename = filename.decode('utf-8')

      ♦也试过unicode函数,不过,在ride中运行时出现了报错,所以不赞成使用。

    filename = unicode(filename,'utf-8')

    2.为什么使用xlrd模块?

      ♦在UI自动化或者接口自动化中数据维护是一个核心,所以此模块非常实用。

    3.怎样使用xlrd模块?

      

     

     

    转载自https://www.cnblogs.com/insane-Mr-Li/p/9092619.html
  • 相关阅读:
    Ext JS学习第三天 我们所熟悉的javascript(二)
    Ext JS学习第二天 我们所熟悉的javascript(一)
    Ext JS学习第十七天 事件机制event(二)
    Ext JS学习第十六天 事件机制event(一)
    Ext JS学习第十五天 Ext基础之 Ext.DomQuery
    Ext JS学习第十四天 Ext基础之 Ext.DomHelper
    Ext JS学习第十三天 Ext基础之 Ext.Element
    Ext JS学习第十天 Ext基础之 扩展原生的javascript对象(二)
    针对错误 “服务器提交了协议冲突. Section=ResponseHeader Detail=CR 后面必须是 LF” 的原因分析
    C# 使用HttpWebRequest通过PHP接口 上传文件
  • 原文地址:https://www.cnblogs.com/king8/p/14706419.html
Copyright © 2011-2022 走看看