添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
相关文章推荐
大方的滑板  ·  c++ - Why am i ...·  1 年前    · 
至今单身的伏特加  ·  c++ std::thread ...·  1 年前    · 
# 2、获取sheet对象 print ' sheet_names: ' , x1.sheet_names() # 获取所有sheet名字 print ' sheet_number: ' , x1.nsheets # 获取sheet数量 print ' sheet_object: ' , x1.sheets() # 获取所有sheet对象 print ' By_name: ' , x1.sheet_by_name( " test " ) # 通过sheet名查找 print ' By_index: ' , x1.sheet_by_index(3) # 通过索引查找
sheet_names: [u' plan', u'team building', u'modile', u'test']
sheet_number: 4
sheet_object: [<xlrd.sheet.Sheet object at 0x10244c190>, <xlrd.sheet.Sheet object at 0x10244c150>, <xlrd.sheet.Sheet object at 0x10244c110>, <xlrd.sheet.Sheet object at 0x10244c290>]
By_name: <xlrd.sheet.Sheet object at 0x10244c290>
By_index: <xlrd.sheet.Sheet object at 0x10244c290>

4、获取sheet的汇总数据:

  • 获取sheet名:sheet1.name
  • 获取总行数:sheet1.nrows
  • 获取总列数:sheet1.ncols
  • # -*- coding:utf-8 -*-
    import xlrd
    import os
    from datetime import date,datetime
    filename = "demo.xlsx"
    filePath = os.path.join(os.getcwd(), filename)
    print filePath
    # 打开文件
    x1 = xlrd.open_workbook(filePath)
    # 获取sheet的汇总数据
    sheet1 = x1.sheet_by_name("plan")
    print "sheet name:", sheet1.name   # get sheet name
    print "row num:", sheet1.nrows  # get sheet all rows number
    print "col num:", sheet1.ncols  # get sheet all columns number
    sheet name: plan
    row num: 31
    col num: 11
    # 单元格批量读取 print sheet1.row_values(0) # 获取第一行所有内容,合并单元格,首行显示值,其它为空。 print sheet1.row(0) # 获取单元格值类型和内容 print sheet1.row_types(0) # 获取单元格数据类型
    [u'learning plan', u'', u'', u'', u'', u'', u'', u'', 123.0, 42916.0, 0]
    [text:u'learning plan', empty:u'', empty:u'', empty:u'', empty:u'', empty:u'', empty:u'', empty:u'', number:123.0, xldate:42916.0, bool:0]
    array('B', [1, 0, 0, 0, 0, 0, 0, 0, 2, 3, 4])

    b) 表操作

  • sheet1.row_values(0, 6, 10)   # 取第1行,第6~10列(不含第10表)
  • sheet1.col_values(0, 0, 5)    # 取第1列,第0~5行(不含第5行)
  • sheet1.row_slice(2, 0, 2)     # 获取单元格值类型和内容
  • sheet1.row_types(1, 0, 2)   # 获取单元格数据类型
  • # -*- coding:utf-8 -*-
    import xlrd
    import os
    from datetime import date,datetime
    filename = "demo.xlsx"
    filePath = os.path.join(os.getcwd(), filename)
    print filePath
    # 1、打开文件
    x1 = xlrd.open_workbook(filePath)
    sheet1 = x1.sheet_by_name("plan")
    # 列操作
    print sheet1.row_values(0, 6, 10)   # 取第1行,第6~10列(不含第10表)
    print sheet1.col_values(0, 0, 5)    # 取第1列,第0~5行(不含第5行)
    print sheet1.row_slice(2, 0, 2)     # 获取单元格值类型和内容,同sheet1.row(0)
    print sheet1.row_types(1, 0, 2)     # 获取单元格数据类型
    [u'', u'', 123.0, 42916.0]
    [u'learning plan', u'\u7f16\u53f7', 1.0, 2.0, 3.0]
    [number:1.0, text:u'\u7ba1\u7406\u5b66\u4e60']
    array('B', [1, 1])
    6、特定单元格读取:
    a) 获取单元格值:
  • sheet1.cell_value(1, 2)
  • sheet1.cell(1, 2).value
  • sheet1.row(1)[2].value
  • b) 获取单元格类型:
  • sheet1.cell(1, 2).ctype
  • sheet1.cell_type(1, 2)
  • sheet1.row(1)[2].ctype
  • print sheet1.cell_value(1, 2 ) print sheet1.cell(1, 2 ).value print sheet1.row(1)[2 ].value # 取类型 print sheet1.cell(1, 2 ).ctype print sheet1.cell_type(1, 2 ) print sheet1.row(1)[2].ctype
    7、(0,0)转换A1:
  • xlrd.cellname(0, 0)   # (0,0)转换成A1
  • xlrd.cellnameabs(0, 0) # (0,0)转换成$A$1
  • xlrd.colname(30)  # 把列由数字转换为字母表示
  • # (0,0)转换成A1 print xlrd.cellname(0, 0) # (0,0)转换成A1 print xlrd.cellnameabs(0, 0) # (0,0)转换成$A$1 print xlrd.colname(30) # 把列由数字转换为字母表示 $A$1
    8、数据类型:
  • 字符串:1
  • error:5
  •