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


 

posted on 2018-11-18 11:40  一杯明月  阅读(638)  评论(0编辑  收藏  举报