zoukankan      html  css  js  c++  java
  • python3:xlrd、xlwt、xlutils处理excel文件

    1.xlrd读取excel

    请参考上篇博客https://www.cnblogs.com/shapeL/p/9075843.html

    2.xlwt生成excel

    安装下载:pip install xlwt

    导入:import xlwt

    参考:

    生成excel文件test1.xls

    file_name = '../dataconfig/test1.xls'
    wbk = xlwt.Workbook()                        #初始化workbook对象
    sheet = wbk.add_sheet('My_Worksheet')        #创建表
    sheet.write(0,0,'ok')                        #往单元格写入内容
    wbk.save(file_name)                          #保存

    如果对同一单元多次操作,报错

    file_name = '../dataconfig/test1.xls'
    wbk = xlwt.Workbook()
    sheet = wbk.add_sheet('My_Worksheet')
    sheet.write(0,1,'ok')
    sheet.write(0,1,'hhok')
    wbk.save(file_name)
    报错:
    Exception: Attempt to overwrite cell: sheetname='My_Worksheet' rowx=0 colx=1

    解决方案:使用cell_overwrite_ok=True来创建worksheet

    sheet = wbk.add_sheet('My_Worksheet',cell_overwrite_ok=True)

     3.xlutils修改excel 

    实际场景:需要将执行结果放入特定单元格中或者对特定单元格数据进行修改

    Python中一般使用xlrd(excel read)来读取Excel文件,用xlrd读取excel是不能对其进行操作的:xlrd.open_workbook()方法返回xlrd.Book类型,是只读的,不能对其进行操作;使用xlwt(excel write)来生成Excel文件,xlwt.Workbook()返回的xlwt.Workbook类型的save(filepath)方法可以保存excel文件。xlutils(依赖于xlrd和xlwt)提供复制excel文件内容和修改文件的功能,其实际也只是在xlrd.Book和xlwt.Workbook之间建立了一个管道而已。

    安装下载:pip install xlutils

    导入:from xlutils.copy import copy

    file_name = '../dataconfig/interface.xls'
    rb = xlrd.open_workbook(file_name)
    print(type(rb))
    wb = copy(rb) #管道作用:利用xlutils.copy函数,将xlrd.Book转为xlwt.Workbook,再用xlwt模块进行存储
    print(type(wb))
    wb.get_sheet(0).write(1,1,'ok') #通过get_sheet()获取的sheet有write()方法
    wb.save(file_name)
    输出结果:
    <class 'xlrd.book.Book'>
    <class 'xlwt.Workbook.Workbook'>

    excel修改流程如图:

    参考文档:https://www.cnblogs.com/jiangzhaowei/p/6179759.html

     

     

  • 相关阅读:
    模板
    2019牛客暑期多校训练营(第五场)
    Codeforces
    Codeforces
    SCUT
    模板
    Codeforces
    2019 Multi-University Training Contest 4
    Codeforces
    Codeforces
  • 原文地址:https://www.cnblogs.com/shapeL/p/9108936.html
Copyright © 2011-2022 走看看