Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1522676
  • 博文数量: 226
  • 博客积分: 3997
  • 博客等级: 少校
  • 技术积分: 2369
  • 用 户 组: 普通用户
  • 注册时间: 2010-06-19 17:26
个人简介

Never save something for a special occasion. Every day in your life is a special occasion.

文章分类

全部博文(226)

文章存档

2018年(5)

2017年(11)

2016年(1)

2015年(17)

2014年(14)

2013年(30)

2012年(5)

2011年(52)

2010年(107)

分类:

2010-07-27 23:00:52

CSV 逗号分隔值文件
 
CSV即Comma Separate Values,这种文件格式经常用来作为不同程序之间的数据交互的格式。
 
可以用EXCEL打开查看。
 
具体文件格式:
  1. 开头不留空,以行为单位
  2. 以逗号为分隔符,逗号前后的空格会被忽略
  3. 可含字段名,若含则居文件第一行
  4. 每条记录占一行,无空行
  5. 以半角符号,作分隔符,列为空也要表达其存在
  6. 字段中包含有逗号,该字段必须用双引号括起来
  7. 字段中包含有换行符,该字段必须用双引号括起来
  8. 字段前后包含有空格,该字段必须用双引号括起来
  9. 字段中的双引号用两个双引号表示,该字段必须用双引号括起来
  10. 文件读写时引号,逗号操作规则互逆
  11. 内码格式不限,可为ASCII、Unicode或者其他


  所谓“CSV”,是Comma Separated Value(逗号分隔值)的英文缩写,通常都是纯文本文件。 CSV最常见于图片扫描文件包中,下面是一个实际CSV文件中的部分内容,让大家有一个感性的认识。我们选的是Sjojo_Rescan 的CSV文件(Sjojo是ASW-亚洲扫图风的成员之一)。
  sj_mino1001.jpg,715282,4FB55FE8,
  sj_mino1002.jpg,471289,93203C5C,
  sj_mino1003.jpg,451929,C4E80467,
  通常CSV文件开头是不留空的,以行为单位,每行中记录一张图片的了多项数据,每项数据用逗号 来分隔(标准英文逗号)。一般说来集图用的.CSV文件的格式是这样的:
  文件名,文件大小(以字节为单位),CRC校验值,注释(可省略)
  sj_mino1001.jpg,715282,4FB55FE8,
  | | | |
  文件名 文件大小 CRC值 注释(已省略)
  如果你的机器上装了Microsoft Excel的话,.csv文件默认是被Excel打开的。需要注意的是,当你 双击一个.CSV文件,Excel打开它以后即使不做任何的修改,在关闭的时候Excel往往会提示是否要 改成正确的文件格式,这个时候千万记得要选择“否”。因为Excel认为.CSV 文件中的数字是要用 科学记数法来表示的,而我们要的.CSV文件中的数字是普通的。如果你选择了“是”的话,Excel会把CSV文件中所有的数字用科学计数来表示(2.54932E+5这种形式),这个文件就没法用了。 所 以如果你的CSV文件绝大部分都是用在集图上的话,建议把.CSV的默认打开方式改成任意一个文本 编辑器,系统自带的wordpad、notepad 就是个不错的选择。
  好,让我们回到CSV文件的格式中来。见上面,从左到右 sj_mino1001.jpg是文件名,715282 是以字节表示的文件大小。当文件名中包含逗号的时候,由于逗号在CSV文件中特殊的作用,为了 不至于产生歧义,需要用引号把文件名括起来。比如 "The Art, Fantasy.jpg",384211,...,.... 接着是一个8位的16进制数字 4FB55FE8,这是文件的CRC32校验值。整个CSV文件的精髓都在这里。
  让我们举个小例子来说明它的意义:Sjojo发布了一张图sj_mino1001.jpg,假设你是从朋友手中拿 到这张图的,那么你肯定常常会有这样的疑问,这张图在传播的过程中是否被改动过呢?是否无意 中遭到了损坏呢?CRC就是为解决这个问题而存在的。一般情况下,扫图家每发布了一套图,就同 时放出一个CSV文件(这种CSV通常叫做Official CSV,也就是官方发布的CSV的意思),这个CSV中 的CRC值是用专门的软件通过CRC32算法(常用的CRC算法还有CRC16)对文件运算后生成的一个值, 这个值可用作文件真身的标志。在绝大多数情况下,如果这个文件在传播过程中无论是大小还是内 容被改动过。那么,用同样的CRC32算法再对文件进行运算后产生的CRC校验值就完全不一样了。如 果得出的CRC值是一样的,则完全有理由认为这个文件是真身,没有被改动过。还有些时候,收来 的图片文件名被改动过了,那么你怎么知道谁是谁呢?这个时候CRC值又起作用了:用专用的软件对图片处理后,可以得到文件的大小和CRC值,然后根据大小和CRC值在CSV中寻找是否有适合的图片。如果有,就会把图片的名字改成CSV里的。举个例子,你收到了一张图片,名字是pic0001.jpg,同时你知道这张图片是Sjojo_Rescan这个集子里面的,但是不知道具体是哪一张。用软件得到它的大小和CRC分别是715282和4FB55FE8,那么软件在CSV文件里找到一行sj_mino1001.jpg,715282,4FB55FE8,大小和CRC都符合,软件就认为这张图片的原名是sj_mino1001.jpg,接着自动把文件的名字改成sj_mino1001.jpg。改动的不是CSV文件而是图片的文件名。接下来的是注释和说明,可以省略掉。需要注意的是注释的后面是没有逗号的,如果要省略注释的话,一定要在CRC值的后面保留一个逗号,否则软件会把CRC值认为是注释的。
  相信看完上面的一大堆东西后,你不但对CSV文件有了个大概地了解,对它的用途应该也有些模糊的概念了吧。我们收集图片往往是通过各种各样不同的渠道,比如从网站上,IRC上,抑或干脆是朋友送的光盘。在整个的传播过程中,图片有可能遭受到各种各样的非人待遇。尤其是从网站上收来的图片。有些时候仅仅是简单的改了一下名字,更多的时候由于很多PLMM站空间有限,常把图片的尺寸缩小,或者把图片文件缩小。一张1356x588的图被改成了678x294,或者一个四五百K的文件被缩成了几十K都是常有的事。比较可恶的是,许多网站把原来扫图家的Logo去掉,打上自己网站的Logo。还有些许搞笑派的玩家,把各种各样的图片移花接木,改头换面。这些对于一般的看图娱乐无伤大雅,但是对于集图来说,收到这样的图片是无法容忍的。如何验明图片的正身,这是扫图家和集图者共同面对的问题。CSV文件就是为了解决这样的问题而出现的。CSV文件最早用在简单的数据库里,由于其格式简单,并具备很强的开放性,所以起初被扫图家用作自己图集的标记。 如上面所说的,CSV文件是个纯文本文件,每一行表示一张图片的许多属性。你在收一套图集时,只要能找到它的CSV文件,用专用的软件校验后,你对该图集的状况就可以了如指掌。比如这套图一共有多少张,你收到了多少张,哪些是原图,那些是可能被改动过或者损坏了的图片......我们可以把.CSV文件看作一份索引,你不但可以“按图索骥”,还可以检查自己收来的“马子”血统是 否纯正。
  CSV文件的来源通常有两种:一种是扫图家自己发布的CSV,一般称作Official CSV。也就是官方发布的CSV,通常说来是有相当的权威性的。比较特殊的是亚洲的许多扫图家,除了公开发布的图以外,还有一些私下发布的Special图,或者一些专门送给朋友的图。加上扫图家不愿意或者不会做CSV,所以他们图集的CSV往往由集图界中一些资深前辈出头来做。在这种情况下,往往会出现一个图集有好几个版本的CSV文件,并且每个版本之间都有不小的差别。此时的CSV不仅是验明真身的依据,同时也给了集图者一个希望:即使缺的再多,即使用这个版本csv收全的人再少,一定会有一个人是全的,就是此CSV的作者!集图界前辈LiQing有一句名言:“有CSV就表示一定有图!” 自然而然的,民间现了一些权威的做CSV的玩家。比如早期的EDZONE,现在依然活跃的OSun,shum,vsam,TE,Paul... 还有偶们COC图盟的WQC
好了,说了那么多,大家可能会问,CSV文件那么好用,到底要怎么用呢?不会要自己手工来检测吧?呵呵,还记得上文中一再出现的“软件”这个字眼吗?有专用的软件可以帮助我们完成这项工作。常用的软件有The!Checker和The Hunter。目前这两个软件都有汉化的简体中文版,汉化人是来自北方的snowtank
 

“CSV”(CommaSeparatedvalues)“逗号分隔值”
 
它是一种纯文本格式文件,可以用记事本打开它(你试一试就知道了)。
csv文件就好象一个电子表格,由很多一条一条的记录排列而成,每一条记录由很多字段组成,但并不象EXCEL一样有很多条条框框,它用一个硬回车分隔一条一条的记录,用许多逗号分隔每条记录中的字段。
就像网页中的表格,并不真的用表格实现,而是用一些标志语言实现的,用浏览器一读,就变成了表格。
csv格式的文件就是用硬回车和文本逗号实现表格的,用EXCEL一读就成了表格
// 这里有一个需要注意的问题。
打开一个记事本,在其中输入以下内容:
1,2,3,4
5,6,7,8
另存为123.csv, 然后用EXCEL打开,看到什么 ?
一般邮件处理程序都有导入与导出地址簿的功能,而这个导入与导出地址簿的功能通过CSV与Wab文件来实现的。
  以大多数人使用的OE和Foxmail为例,它们的通讯簿内容均可导出为.CSV的文件,这种文件不仅可用Excel打开,也可用任何文本编辑软件编辑、修改。CSV文件能够很快地被OE和Foxmail导入,而且该文件体积很小又便于软盘携带。
  你可从OE中导出一个*.CSV的通讯簿文件做样板,*.CSV通讯簿文件的格式由“姓名”、“电子邮件地址”、“职务”等项目组成。有心的读者不妨用记事本打开CSV文件看一下,CSV是一种用逗号分隔的文件。如果你仅用它来发电子邮件,可以只输入“姓名”、“电子邮件地址”这两项的内容即可。每一个联系人的内容占一行,每行各项内容用“,”号隔开,最后一项的后面没有“,”号。不输入内容的项留空,但分隔符“,”号不能省。
  这样,以样板文件为基础,一旦有新联系人要添入通讯簿时,要添加几个联系人只要在文本文件的最后直接添加即可。对于有大量新联系人的信息要加入通讯簿时,用这种编辑方法更节省输入工作量。修改了含联系人信息的*.CSV文件,你只需在OE或Foxmail下将*.CSV文件内容导入通讯簿即可。这个*.CSV文本文件的容量很小哦。就通用性来说,CSV文件要比Wab文件要好些!故大家在备份与恢复通信录时,还是使用CSV文件比较好
 
 
阅读(7179) | 评论(0) | 转发(0) |
0

上一篇:复合类型小结

下一篇:预处理

给主人留下些什么吧!~~