zoukankan      html  css  js  c++  java
  • python——处理excel

    ---恢复内容开始---

    1. python处理excel的包有很多

    xlrd(读取excel内容)

    xlwt(写excel内容)

    openpyxl(读写)

    xlutils(保持excel格式不变的情况操作内容)

    xlswing (效率高)

    pandas(数据处理,分析)

    具体的性能对比我还没有试过,只是目前比较流行的操作excel的包为以上几种

    2. 保持excel格式的方法,两种

    xlutils我觉得更加的方便一些,但是它只能支持03版的excel,就是xls结尾的文件,07版的xlsx则不支持。

    xlutils的copy方法

    tem_excel = xlrd.open_workbook(self.templatePath, formatting_info=True)
    new_excel = copy(tem_excel)
    new_sheet = new_excel.get_sheet(self.headerConfDict.get("targetsheet"))

    new_sheet, new_excel = self.getTemplateSheet()
    for rownumber, rowvalue in wholeDict.items():
    for x in rowvalue:
    if (x.get("format") == None):
    new_sheet.write(rownumber, x.get("index"), x.get("value"))
    else:
           #设置颜色
            
    new_sheet.write(rownumber, x.get("index"), x.get("value"), self.setStyle())
    new_excel.save(filename)


    style = xlwt.XFStyle()
    pattern = xlwt.Pattern()
    pattern.pattern = Pattern.SOLID_PATTERN
    pattern.pattern_fore_colour = Style.colour_map['red']
    style.pattern = pattern
    return style
     

    openpyxl

    wb = openpyxl.load_workbook("Template.xlsx")
    sheetnames = wb.get_sheet_names()
    sheet = wb.get_sheet_by_name(sheetnames[0])
    sheet.cell(row=2,column=2,value=123456)
    #设置颜色
    fill = PatternFill('solid', fgColor='FF0000')
    sty1 = NamedStyle(name='sty1', fill=fill)
    new_sheet.cell(row=rownumber + 1, column=x.get("index") + 1).style = sty1
    print(sheet)
    wb.save("test.xlsx")


    3. xlrd的基本操作
    import xlrd
    xlrd.workbook("filepath")
  • 相关阅读:
    剑指offer面试题17:合并两个排序的链表
    剑指offer面试题16:反转链表
    剑指offer面试题15:链表中倒数第K个节点
    Jinja2.template渲染两种常见用法
    hadoop集群运维碰到的问题汇总
    hbase配置参数总结
    hbase内核学习总结
    zookeeper学习笔记
    mongodb 3.2性能测试
    kafka内部结构笔记
  • 原文地址:https://www.cnblogs.com/emmaduan/p/11712285.html
Copyright © 2011-2022 走看看