zoukankan      html  css  js  c++  java
  • Python中使用xlrd、xlwt、xlutils读写Excel文件

     

    一、使用xlrd库读excel文件:

       1、xlrd模块是什么

    • python第三方工具包,用于读取excel中的数据;
    • 它支持 xlsx 和 xls 格式的excel表格;
    • 打开工作簿(Workbook),选择工作表(sheets),然后操作单元格(cell)
    • 与之对应的还有一个xlwt包,用于往excel中写入数据。
    • 命令行中输入:pip install xlrd
    • 下载安装包进行离线安装

    2、安装xlrd模块

    • 命令行中输入:pip install xlrd
    • 下载安装包进行离线安装

    3、xlrd应用举例:

      

      (1)打开一个工作簿对象:

         workbook = xlrd.open_workbook("a1.xlsx")

      (2)获取一个工作表(三种方法)

    sheet = workbook.sheets()[0]           #通过索引顺序获取

    sheet = workbook.sheet_by_index(0)     #通过索引顺序获取

    sheet = workbook.sheet_by_name(u'Sheet1')#通过名称获取

      (3)获取行数和列数:

    rows = sheet.nrows  #获取行数

    cols = sheet.ncols  #获取列数

       (4)获取整行和整列的值

    rowData = sheet.row_values(行索引号)
    colDate = sheet.col_values(列索引号)

       (5)通过循环读取表格的所有行

    for i in range(sheet.nrows):
        print(sheet.row_values(i))

       (6)获取单元格的值

    cell_A1 = sheet.row(0)[0]
    cell_A1 = sheet.cell(0,0)
    cell_A1 = sheet.col(0)[0]

     

     二、使用xlwt库写excel文件:

       1、xlwt模块是什么

    • xlwt就是一个纯粹的Writer了,因为它只能对Excel进行写操作

    import xlwt

    workbook =xlwt.Workbook() #新建一个工作簿

    s1 = workbook.add_sheet("test")  #向工作簿中添加工作表,名称为test

    s1.write(0,0,u"姓名")  #test表的第一个单元格添加"姓名"

    s2 = workbook.add_sheet("tttt")  #向工作簿中添加工作表,名称为tttt

    s2.write(0,1,u'职称') #tttt表的第二个单元格添加"职称"

    workbook.save("a1.xlsx")

    2、xlwt支持一定的样式,操作如下:

    #初始化样式

    • style=xlwt.XFStyle()

    #为样式创建字体

    • font=xlwt.Font() 

    #指定字体名字

    • font.name='Times New Roman' 

    #字体加粗

    • font.bold=True

    #将该font设定为style的字体

    • style.font=font 

    #写入到文件时使用该样式

    • sheet.write(0,1,'just for test',style)

     

    三、使用xlutils在excel工作簿中增加新的sheet表:xlutils模块用于复制excel表格

    import xlrd,xlwt,xlutils

    from xlutils.copy import copy

    rb = xlrd.open_workbook("a3.xlsx",formatting_info=True)

    wb = copy(rb)

    #workbook =xlwt.Workbook() #新建一个工作簿

    s1 = wb.add_sheet("t1")  #向工作簿中添加工作表,名称为test

    s1.write(0,0,u"姓名")  #test表的第一个单元格添加"姓名"

    s2 = wb.add_sheet("t2")  #向工作簿中添加工作表,名称为tttt

    s2.write(0,1,u'职称') #tttt表的第二个单元格添加"职称"

    wb.save("a3.xlsx")

     

  • 相关阅读:
    团队开发冲刺第十五天
    团队开发冲刺第十四天
    团队开发冲刺第十三天
    团队开发冲刺第十二天
    团队开发冲刺第十一天
    团队开发冲刺第十天
    幸运抽奖案例
    java中如何数组是如何赋值的?
    使用java中的String类操作复杂的字符串
    java中随机生成26个字母组合的随机验证码
  • 原文地址:https://www.cnblogs.com/lone5wolf/p/12968560.html
Copyright © 2011-2022 走看看