您的位置:首页 > 运维架构

使用openpyxl修改Excel文件,日期累加写入

2016-03-18 22:59 369 查看
生成一个按日期排列的Excel列表,并设置格式,后续作为每日股票记事本使用,后续获取各种参数添加到里面去



#!/usr/bin/python
# -*- coding: utf-8 -*-
import time
from datetime import datetime
from datetime import timedelta

from openpyxl import load_workbook
from openpyxl.styles import Color, Font, Alignment
from openpyxl.styles.fills import FILL_SOLID
from openpyxl.styles.colors import BLUE, RED, GREEN, YELLOW

def get_week(date_str):
t = time.strptime(date_str, '%Y-%m-%d')
y, m, d = t[0:3]
week = datetime(y, m, d).weekday()
if week   == 0 : return week, date_str + u'(一)'
elif week == 1 : return week, date_str + u'(二)'
elif week == 2 : return week, date_str + u'(三)'
elif week == 3 : return week, date_str + u'(四)'
elif week == 4 : return week, date_str + u'(五)'
elif week == 5 : return week, date_str + u'(六)'
elif week == 6 : return week, date_str + u'(日)'

def main():
wb = load_workbook('day_comment.xlsx')
ws = wb.active
start_date = datetime(2016, 3, 13)
end_date = '2017-02-05'
start = 25
while start_date.strftime('%Y-%m-%d') != end_date:
week, date_str = get_week(start_date.strftime('%Y-%m-%d'))
ws['A' + str(start)] = date_str[5:]
cell = ws.cell(row=start, column=1)
if week == 4:
cell.font = Font(name=u'宋体',size=14,color=RED,bold=True)
elif week in [5,6]:
cell.font = Font(name=u'宋体',size=14,color=BLUE,bold=True,italic=True)
else:
cell.font = Font(name=u'宋体',size=14,bold=True)
cell.alignment = Alignment(horizontal='center',
vertical='center')
start += 1
start_date += timedelta(1)
wb.save('day_comment.xlsx')

if __name__=="__main__":
main()
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: