zoukankan      html  css  js  c++  java
  • Python操作excel(xlrd和xlwt)

    Python操作excel表格有很多支持的库,例如:xlrd、xlwt、openpyxl、win32com,下面介绍使用xlrd、xlwt和xlutils模块
    这三个库不需要其他的支持,在任何操作系统上都可以使用。
    xlrd:可以读取.xls、.xlsx文件,
    xlwt:可以编写Excel文档,但不可以直接修改Excel文档,

    xlutils:可以通过复制(copy) Excel文档后再进行修改

    使用xlrd读取Excel表方法
    import xlrd
    data = xlrd.open_workbook('demo.xls')  #打开excel
    data.sheet_names() #查看文件中包含sheet的名称
    
    table = data.sheets()[0] #得到第一个工作表
    table = data.sheet_by_index(0) #通过索引顺序得到表
    table = data.sheet_by_name(u'Sheet1') #通过工作表名称得到表
    
    nrows = table.nrows #获取行数
    ncols = table.ncols #获取列数
    
    table.row_values(i) #获取整行(数组)
    table.col_values(i) #整列的值(数组)
    #循环行,得到索引的列表 for rownum in range(table.nrows): print table.row_values(rownum) #单元格 cell_A1 = table.cell(0,0).value cell_C4 = table.cell(2,3).value #分别使用行列索引 cell_A1 = table.row(0)[0].value cell_A2 = table.col(1)[0].value
    使用xlutils修改Excel表方法
    
    
    from xlrd import open_workbook
    from xlutils.copy import copy
     
    rb = open_workbook('m:\1.xls')
     
    #通过sheet_by_index()获取的sheet没有write()方法
    rs = rb.sheet_by_index(0)
     
    wb = copy(rb)
     
    #通过get_sheet()获取的sheet有write()方法
    ws = wb.get_sheet(0)
    ws.write(0, 0, 'changed!')
     
    wb.save('m:\1.xls')
    使用xlwt编写Excel表方法
    #导入xlwt
    
    import xlwt
    
    #新建一个excel文件
    file = xlwt.Workbook() #注意这里的Workbook首字母是大写,无语吧
    
    #新建一个sheet
    table = file.add_sheet('sheet name')
    
    #写入数据table.write(行,列,value)
    table.write(0,0,'test')
    
    #如果对一个单元格重复操作,会引发
    #returns error:
    # Exception: Attempt to overwrite cell:
    # sheetname=u'sheet 1' rowx=0 colx=0
    #所以在打开时加cell_overwrite_ok=True解决
    
    table = file.add_sheet('sheet name',cell_overwrite_ok=True)
    
    #保存文件
    file.save('demo.xls')
    #另外,使用style
    style = xlwt.XFStyle() #初始化样式
    
    font = xlwt.Font() #为样式创建字体
    font.name = 'Times New Roman'
    font.bold = True
    style.font = font #为样式设置字体
    table.write(0, 0, 'some bold Times text', style) # 使用样式
    
    
    

      转载请注明出处:http://www.cnblogs.com/xiaozhiblog/p/5339952.html

     
     
    
    
  • 相关阅读:
    xcode debug
    ios 使用Quartz 2D画虚线
    ios UIGestureRecognizer
    ios 实现带矩形框的屏幕截图
    ios UISegemetedControl
    centos最小安装之后无法使用ifconfig
    无线LoRa智能远传水表
    智能水表188协议汇总
    无线LoRa远传智能水表
    静电除尘器除尘原理
  • 原文地址:https://www.cnblogs.com/xiaozhiblog/p/5339952.html
Copyright © 2011-2022 走看看