Comma Separated Values
1 开头是不留空,以行为单位。
2 可含或不含列名,含列名则居文件第一行。
3 一行数据不垮行,无空行。
4 以半角逗号(即,)作分隔符,列为空也要表达其存在。
5 列内容如存在半角逗号(即,)则用半角引号(即"")将该字段值包含起来。
6 列内容如存在半角引号(即")则应替换成半角双引号("")转义,并用半角引号(即"")将该字段值包含起来。
7 文件读写时引号,逗号操作规则互逆。
8 内码格式不限,可为 ASCII、Unicode 或者其他。
9 不支持特殊字符
下面是一个实际 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 文件中的数字是要用科学记数法来表示的,Excel 会把 CSV 文件中所有的数字用科学计数来表示(2.54932E+5 这种形式),这样操作之后,只是在 Excel 中显示的时候会不正常,而 csv 文件由于是纯文本文件,在使用上没有影响;如果选择了“否”,那么会提示你以 xls 格式另存为 Excel 的一个副本。
所以如果你的 CSV 文件绝大部分都是用在集图上的话,建议把.CSV 的默认打开方式改成任意一个文本 编辑器,系统自带的记事本就是个不错的选择。
好,让我们回到 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 文件,并且每个版本之间都有不小的差别。
打开包含地址数据的 Excel 工作簿。
在地址示例中,第一个地址包含四行,第二个地址仅包含三行。此外,每个地址集之间相隔一行。
要将地址数据成功转换为 CSV 文本文件,所有地址必须包含相同的行数并且每个地址集之间相隔的行数必须相同。例如,将地址示例更改为以下形式:
A1:Jane Clayton
A2:Microsoft
A3:456 Elm Street
A4:Sometown, USA 67890
A5:
A6:
A7:Jose Saraiva
A8:789 Oak Road
A9:
A10:Mytown, USA 54321
注意:现在,每个地址集都包含四行,相隔两行。
要在 Excel 工作表中插入新行,请选择要在其上插入新行的行标题。在“插入”菜单上,单击“行”。
注意:在 Excel 2007 中,要在工作表中插入新行,需选择要在其上插入新行的行,单击“主页”选项卡上“单元格”组中的“插入”,然后单击“插入工作表行”。
在“文件”菜单上,单击“另存为”。
注意:在 Excel 2007 中,单击“Office 按钮”,然后单击“另存为”。
在“另存为”对话框中执行以下操作:
在“保存类型”框中,单击“CSV (逗号分隔)(*.csv)”。
在“文件名”框中,键入 CSV 文件的名称(例如 Address.csv),然后单击“保存”。
如果收到下面的消息,请单击“确定”:
选定的文件类型不支持包含多个工作表的工作簿。