在数据报表生成的时候,我们一般会用程序去生成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"")"

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

CSV - 操作比较的更多相关文章

  1. Java CSV操作(导出和导入)

    Java CSV操作(导出和导入)  CSV是逗号分隔文件(Comma Separated Values)的首字母英文缩写,是一种用来存储数据的纯文本格式,通常用于电子表格或数据库软件.在 CSV文件 ...

  2. csv操作帮助类

    功能描述: 集合转换为csv数据 DataSe转换为csv数据 using System; using System.Collections.Generic; using System.Data; u ...

  3. 【Java】Java CSV操作代码

    CSV是逗号分隔文件(Comma Separated Values)的首字母英文缩写,是一种用来存储数据的纯文本格式,通常用于电子表格或数据库软件.在 CSV文件中,数据“栏”以逗号分隔,可允许程序通 ...

  4. python之pandas数据筛选和csv操作

    本博主要总结DaraFrame数据筛选方法(loc,iloc,ix,at,iat),并以操作csv文件为例进行说明 1. 数据筛选 a b c (1)单条件筛选 df[df[] # 如果想筛选a列的取 ...

  5. pandas 写csv 操作

    pandas 写csv 操作 def show_history(self): df = pd.DataFrame() df['Time'] = pd.Series(self.time_hist) df ...

  6. python之csv操作

    在使用python爬虫时或者其他情况,都会用到csv存储与读取的相关操作,我们在这里就浅谈一下: CSV(Comma-Separated Values)逗号分隔符,也就是每条记录中的值与值之间是用分号 ...

  7. C# csv 操作类

    using System.Data; using System.IO; using System.Text; namespace YanZhiwei.DotNet2.Utilities.Common ...

  8. php csv操作

    csv的写入数据: $data = array( array('qq号','登录时间','名称'), array('123456','2012-08-21 15:21:10'.chr(1),'我是来测 ...

  9. csv操作

    需要引入javacsv.jar 以下为一个完整的Utils的写法,具体输出和输入需要自己修改参数. import java.io.File; import java.io.FileNotFoundEx ...

随机推荐

  1. HTML控件篇 -- input

    1. 取消input提示框及自动填充: <input type="text" autocomplete="off" /> 处理chrome下自动填充 ...

  2. java复习基础知识——java保留字

    ava 关键字列表 (依字母排序 共51组): abstract, assert,boolean, break, byte, case, catch, char, class, const, cont ...

  3. SQL语句 in和inner join各有什么优点

    比如A1表 100W行 A2表50W行select a.* from A1 a where a.column1 in (select b.column1 from A2 b where b.colum ...

  4. WP8:Unity3D之间的值传递

    在前面的讨论中,我们介绍了如何在Unity3D for WP8中使用高于.Net 3.5的第三方库,传送门:http://www.cnblogs.com/zhxilin/p/3311240.html ...

  5. PHP微信墙制作,开源

    PHP微信墙制作 微信墙 PHP 注意:由于微信官网不定时会更新,其中模拟登陆以及爬取数据的方式可能会失效,最近这12个月里,就有两次更新导致此功能需要重写. 服务端源码->github地址传送 ...

  6. Kali Linux Web 渗透测试视频教程— 第十六课-拒绝服务攻击

    Kali Linux Web 渗透测试视频教程— 第十六课-拒绝服务攻击 文/玄魂 目录 Kali Linux Web 渗透测试视频教程— 第十六课-拒绝服务攻击................... ...

  7. [计算机图形学] 基于C#窗口的Bresenham直线扫描算法、种子填充法、扫描线填充法模拟软件设计(二)

    上一节链接:http://www.cnblogs.com/zjutlitao/p/4116783.html 前言: 在上一节中我们已经大致介绍了该软件的是什么.可以干什么以及界面的大致样子.此外还详细 ...

  8. Qt5.3 打印示例时出现错误

    说明:今天我在用Qt5.3写打印文档的时候,编译出错了,出错代码为: C:\Users\joe\Desktop\5-9\myPrint\mainwindow.cpp:35: error: undefi ...

  9. How to use kingshard building a MySQL cluster

    How to use kingshard building a MySQL cluster https://github.com/flike/kingshard/blob/master/doc/Kin ...

  10. paip.提升效率---提升绑定层次--form绑定取代field绑定

    paip.提升效率---提升绑定层次--form绑定取代field绑定 =================== 编辑form中,常常需要,绑定一个对象到个form..   传统上要绑定field开始. ...