Python Excel

最近,因为工作的需要,我用到了Python处理数据写入到Excel中进行一些统计相关的工作。

Show me the code:

# -*- encoding:utf-8 -*-
import sys
import datetime
import xlwt
from xlwt import *

reload(sys)
sys.setdefaultencoding('utf-8')

# excel表格操作
workbook = xlwt.Workbook(encoding='utf-8')
# 单元格边框
borders = xlwt.Borders()
borders.left = xlwt.Borders.THIN
borders.right = xlwt.Borders.THIN
borders.top = xlwt.Borders.THIN
borders.bottom = xlwt.Borders.THIN

# 普通单元格内容格式--One
style = xlwt.XFStyle()
font = xlwt.Font()
# font.name = 'Times New Roman'
# font.name = 'Arial'
font.name = 'Microsoft YaHei'  # 微软雅黑字体
style.font = font
style.borders = borders

# 日期类型单元格内容格式--Two
dateStyle = xlwt.XFStyle()
dateStyle.num_format_str = 'YYYY-MM-DD hh:mm:ss'
dateStyle.font = font
dateStyle.borders = borders

# 标题类单元格内容格式--Three
bgstyle = xlwt.XFStyle()
font1 = xlwt.Font()
font1.name = 'Microsoft YaHei'
font1.bold = True
bgstyle.font = font1
# 对齐
al = Alignment()
al.horz = Alignment.HORZ_CENTER
al.vert = Alignment.VERT_CENTER
bgstyle.alignment = al
# 填充
pattern = xlwt.Pattern()
pattern.pattern = xlwt.Pattern.SOLID_PATTERN
pattern.pattern_fore_colour = 22
bgstyle.pattern = pattern
bgstyle.borders = borders

# 单元格内容字体设置为红色,并添加删除线
zeroStyle = xlwt.XFStyle()
font2 = xlwt.Font()
font2.struck_out = True
font2.colour_index = 2
zeroStyle.font = font2
zeroStyle.borders = borders

# 添加工作表, 允许单元格内容重写
sheet = workbook.add_sheet('sheet1', cell_overwrite_ok=True)
titles = ['序号', '名称', '日期', '状态']
datas = [
    [1, 'tianzhaixing', '2016-05-19', 1],
    [2, 'tianzx', '2016-05-20', 1],
    [3, '约翰', '2016-05-21', 0]
]

# 写入标题相关内容
for i, v in enumerate(titles):
    sheet.write(0, i, v, bgstyle)

# 写入数据内容
for row, data in enumerate(datas):
    idx, name, date, status = data
    sheet.write(row + 1, 0, idx, style)
    sheet.write(row + 1, 1, name, style)
    sheet.write(row + 1, 2, date, dateStyle)
    sheet.write(row + 1, 3, status, style)
    if status == 0:
        sheet.write(row + 1, 3, status, zeroStyle)

# 保存excel内容
dayTime = datetime.datetime.now().strftime('%Y-%m-%d')
workbookName = dayTime + '_test.xls'
workbook.save(workbookName)

The result:

result

参考博客:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Digital2Slave

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值