zoukankan      html  css  js  c++  java
  • python写excel

     例一,普通写入:

    # -*-coding: utf-8-*-
    import xlwt
    
    workbook = xlwt.Workbook()
    
    sheet = workbook.add_sheet('sheet 1')
    
    sheet.write(0,1,'test text')#第0行第一列写入内容
    
    workbook.save('test.xls')

    例二,把字典写入到excel中:

    #!/usr/bin/python
    #coding: utf-8
    
    import xlsxwriter
    
    #创建一个新的xlsx文件(如果原有同名文件会被覆盖)
    workbook = xlsxwriter.Workbook("Expenses01.xlsx")
    
    #创建一个新的表单,默认名称为 “sheet1”,输入字符参数可指定名称
    worksheet = workbook.add_worksheet()
    
    expenses = {
        'Rent': 1000,
        'Gas' :  100,
        'Food':  300,
        'Gym' :   50,
    }
    
    #worksheet 默认是从0行、0列开始计数
    row = 0
    col = 0
    
    #worksheet.write 方法将数据写入 xlsx 表格中
    #参数依次为:行号、列号、数据、[格式]
    for item, cost in expenses.items():
        worksheet.write(row, col ,    item)
        worksheet.write(row, col + 1, cost)
        row += 1
    
    #显式关闭workbook,若不显式指定,则作用域结束后自动关闭
    workbook.close()
        

    例三:xlsxwriter 格式处理,将待添加数据转换成相应的格式,添加到 xlsx 文件中

      先设置格式,使用方法:workbook.add_format

      再指定格式写入,使用方法:worksheet.write_string

    # -*- coding: utf-8 -*-
    
    from datetime import datetime
    import xlsxwriter
    
    workbook = xlsxwriter.Workbook('Expenses02.xlsx')
    worksheet = workbook.add_worksheet()
    
    #设定格式,等号左边格式名称自定义,字典中格式为指定选项
    #bold:加粗,num_format:数字格式
    bold_format = workbook.add_format({'bold':True})
    money_format = workbook.add_format({'num_format':'$#,##0'})
    date_format =workbook.add_format({'num_format':'mmmm d yyyy'})
    
    #将二行二列设置宽度为15(从0开始)
    worksheet.set_column(1, 1, 15)
    
    #用符号标记位置,例如:A列1行
    worksheet.write('A1', 'Item', bold_format)
    worksheet.write('B1', 'Cost', bold_format)
    worksheet.write('C1', 'Cost', bold_format)
    
    expenses = (
        ['Rent', '2016-03-11', 1000],
        ['Gad',  '2016-03-12',  100],
        ['Food', '2016-03-13', 400],
        ['Gym',  '2016-03-14',  50],
    )
    
    row = 1
    col = 0
    
    for item, date_str, cost in (expenses):
        #将数据格式转化为Python datetime.datetime 格式
        #之后用write_datetime方法录入日期格式
        date = datetime.strptime(date_str, "%Y-%m-%d")
    
        #使用write_string方法,指定数据格式写入数据
        worksheet.write_string(row, col,     item)
        worksheet.write_datetime(row, col + 1, date,  date_format)
        worksheet.write_number(row, col + 2, cost, money_format)
        row += 1
    
    worksheet.write(row, 0, 'Total',       bold_format)
    worksheet.write(row, 1, '=SUM(B2:B5)', money_format)
    
    workbook.close()
        

    例四,xlsxwriter 添加表格,在 xlsx 文件中添加表格:

    #!/usr/bin/python
    #coding: utf-8
    
    import xlsxwriter
    
    workbook = xlsxwriter.Workbook('chart.xlsx')
    worksheet = workbook.add_worksheet()
    
    #新建图标对象
    chart = workbook.add_chart({'type': 'column'})
    
    #向 excel 中写入数据,建立图标时要用到
    data = [
        [1, 2, 3, 4, 5],
        [2, 4, 6, 8, 10],
        [3, 6, 9, 12, 15],
    ]
    
    worksheet.write_column('A1', data[0])
    worksheet.write_column('B1', data[1])
    worksheet.write_column('C1', data[2])
    
    #向图表中添加数据,例如第一行为:将A1~A5的数据转化为图表
    chart.add_series({'values': '=Sheet1!$A$1:$A$5'})
    chart.add_series({'values': '=Sheet1!$B$1:$B$5'})
    chart.add_series({'values': '=Sheet1!$C$1:$C$5'})
    
    #将图标插入表单中
    worksheet.insert_chart('A7', chart)
    
    workbook.close()

    效果:

    例五,更多可用的单元格式对象(Format Class):

      ecxel 中每一个单元,都有如下属性:字体(fonts)、颜色(colors)、模式(patterns)、边界(borders)、alignment、number formatting

      设置属性:

    format = workbook.add_format()
    
    #用对象接口设置格式属性
    format.set_bold()
    format.set_font_color('red')
    
    #用字典设置格式属性
    property = {
        'bold': True,
        'font_color': 'red'
    }
    format = workbook.add_format(property)

    来源:https://www.cnblogs.com/ontheway703/p/5264517.html


  • 相关阅读:
    idea解决Maven jar依赖冲突(四)
    代码规范:idea上添加阿里巴巴Java开发插件
    一起MySQL时间戳精度引发的血案
    JVM Code Cache空间不足,导致服务性能变慢
    通过SOFA看Java服务端如何实现运行时的模块化
    谈谈我对SOFA模块化的理解
    谈谈我对SOFA模块化的理解
    一文谈尽边缘计算
    JVM调优实战:G1中的to-space exhausted问题
    JVM调优实战:G1中的to-space exhausted问题
  • 原文地址:https://www.cnblogs.com/yibeimingyue/p/9977393.html
Copyright © 2011-2022 走看看