CSV - 操作比较

在数据报表生成的时候,我们一般会用程序去生成CSV。其中有些需要注意的地方。

log_file = open('delay.%s.csv' % s_end, 'w')
    log_file.write('\xEF\xBB\xBF'+'当前处理人,当前步骤ID,标题(事件名称),发生时间,事件类型,风险级别,处理时限,部门名字,延期天数\n')
    status = {
        0: '草稿', 10: '处理中', 80: '审核中', 90: '结束'
    }
    for d in delay_flows:
        for f in delay_flows[d]['flows']:
            dl = datetime.datetime.strptime(f.data['Deadline'], '%Y-%m-%d %H:%M:%S')
            dx = now - dl
            log_file.write('%s,%s,"=HYPERLINK(""http://flow.dddd.com/detail?caseid=%s"",""%s"")",%s,%s,%s,%s,%s,%d\n' % (
                f.data['current_handler'],
                status[ff.status] if ff.status in status else ff.status,
                f.case_id,
                f.data['AlertName'],
                f.data['ApplyTime'],
                f.bug_type,
                f.data['RiskLevel'],
                f.data['Deadline'],
                f.department,
                dx.days,
            ))
    log_file.close()

首先防止在windows上面excel打开csv是乱码,我们需要在文件头部写入

'\xEF\xBB\xBF'

然后如果需要插入超链接

"=HYPERLINK(""http://flow.dddd.com/detail?caseid=%s"",""%s"")"

其中整个字段需要用“”括起来,不然他们中间的这个,逗号会把字段分隔开,双引号中间出现双引号要双倍""""。

posted @ 2015-04-29 14:55  HuangJacky  阅读(1142)  评论(0编辑  收藏  举报
AdminLogin