CSV(Comma-Separate-Values)逗号分隔值文件
Posted 森明帮大于黑虎帮
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CSV(Comma-Separate-Values)逗号分隔值文件相关的知识,希望对你有一定的参考价值。
文章目录
前言
csv
是逗号分隔值文件的格式,英文全称comma-separated values
。该文件通常都是以纯文本的形式储存,以行为单位,每行有多项数据,每项数据用逗号分隔。用户可以使用Excel
,或者系统自带的记事本、写字板,来打开csv
文件。
如果电脑安装了Excel
软件,csv
文件的默认打开方式就会被修改成Excel
。双击打开后,每项数据之间是不会显示逗号的,因为逗号都被用来分列了。如果右键文件打开方式,选择记事本或者写字板打开,就会看到逗号分隔符。
需要注意的是,Excel
表格中的数字,默认采用的都是科学计数的表示方式,如3.48431E+5
这种形式。用户在用Excel
编辑修改csv
文件时,一定要留意数值格式的变化,必要的时候将其修改回来。否则,数据就会出问题。
由于csv
文件的存储方式非常简单,可以有效减少存储信息的容量。所以,csv
文件经常会被用于不同程序之间的数据交换。
一、CSV文件背景
在数据分析时,有时我们会碰到csv
格式文件,需要先进行数据处理,转换成所需要的数据格式,然后才能进行分析。
业务侧的同学可能对Excel
文件比较熟悉,Excel
可以把单个sheet
直接保存为csv
文件,也可以直接读取csv
文件,变成Excel
文件。
技术侧的同学有时需要把数据库里面的数据导出到一个csv
文件,有时也需要把别人给的csv
文件加载到数据库中。
csv
文件在各个地方都这么流行,你真的彻底了解它吗?
CSV(逗号分隔值文件格式),逗号分隔值(Comma-Separated Values,CSV,有时也称为字符分隔值,因为分隔字符也可以不是逗号)
二、CSV文件用法
广泛应用。最广泛的应用是在程序之间转移表格数据,而这些程序本身是在不兼容的格式上进行操作的(往往是私有的和/或无规范的格式)。因为大量程序都支持某种CSV
变体,至少是作为一种可选择的输入/输出格式。
例如,一个用户可能需要交换信息,从一个以私有格式存储数据的数据库程序,到一个数据格式完全不同的电子表格。最可能的情况是,该数据库程序可以导出数据为“CSV”
,然后被导出的CSV
文件可以被电子表格程序导入。
“CSV”
并不是一种单一的、定义明确的格式(尽管RFC 4180有一个被通常使用的定义)。因此在实践中,术语“CSV”
泛指具有以下特征的任何文件:
- 纯文本,使用某个字符集,比如ASCII、Unicode、EBCDIC或GB2312;
- 由记录组成(典型的是每行一条记录);
- 每条记录被分隔符分隔为字段(典型分隔符有逗号、分号或制表符;有时分隔符可以包括可选的空格);
- 每条记录都有同样的字段序列。
在这些常规的约束条件下,存在着许多CSV
变体,故CSV
文件并不完全互通。然而,这些变异非常小,并且有许多应用程序允许用户预览文件(这是可行的,因为它是纯文本),然后指定分隔符、转义规则等。如果一个特定CSV
文件的变异过大,超出了特定接收程序的支持范围,那么可行的做法往往是人工检查并编辑文件,或通过简单的程序来修复问题。因此在实践中,CSV
文件还是非常方便的。
三、CSV文件规则
- 开头是不留空,以行为单位。
- 可含或不含列名,含列名则居文件第一行。
- 一行数据不跨行,无空行。
- 以半角逗号(即,)作分隔符,列为空也要表达其存在。
- 列内容如存在半角引号(即"),替换成半角双引号(“”)转义,即用半角引号(即"")将该字段值包含起来。
- 文件读写时引号,逗号操作规则互逆。
- 内码格式不限,可为 ASCII、Unicode 或者其他。
- 不支持数字。
- 不支持特殊字符。
四、CSV文件包含的各种数据
1.常规的内容
表格中:
csv文件中:
2.字段内部有逗号
表格中:
csv文件中:
3.字段内部有引号
表格中:
csv文件中:
4.字段内部有换行符
表格中:
csv文件中:
5.字段内部有空格
表格中:
csv文件中:
五、CSV文件规则
从上面的各种内容可以看出,当字段中包含特殊的字符时,在csv
文件中会用双引号进行特殊处理
官方标准:
RFC4180:https://www.rfc-editor.org/rfc/rfc4180.txt
维基百科wiki:https://wiki.lazarus.freepascal.org/CSV
- 字段内包含逗号, 双引号, 或是换行符的字段必须放在双引号内。
- 字段内包含引号必须在其前面增加一个引号,来实现引号的转码。
- 元素中的换行符将被保留下来。
- 分隔符逗号前后的空格仍然会被保留。
-
每条记录占一行。
-
以逗号为分隔符。
-
逗号前后的空格会被忽略。
-
字段中包含有逗号,该字段必须用双引号括起来。
-
字段中包含有换行符,该字段必须用双引号括起来。
-
字段前后包含有空格,该字段必须用双引号括起来。
-
字段中的双引号用两个双引号表示。
-
字段中如果有双引号,该字段必须用双引号括起来。
-
第一条记录,可以是字段名。
CSV其实就是COMMA SEPARATED VALUE的缩写,出现在档案总管中的档案类型是「逗号分格」,依计算机原来的设定,如果直接点选该档案,计算机将以EXCEL的模式开启该档案。但建议您千万不要这么做,因为CSV档如果以EXCEL开启,由于计算机档案数据转换的原因,会将其CRC之数值改做科学记号方式储存,而造成档案中的 CRC值发生错误。这也是笔者初出茅庐时所得到的惨痛经验,但如果想一窥CSV档的真实面貌,笔者建议您使用WORDPAD或是记事本(NOTE)来开启,再则先另存新档后用EXCEL开启,也是方法之一。开启后的CSV档包含了四或五个字段(部分),由左至右分别记载着:文件名称(XXXX.JPG)、档案大小(以BYTE为单位)、CRC32值(八个英文字母或数字组成)、档案路径(档案储存的子目录名称)和档案内容描述(一般来说都是明星的英文姓名甚或是专辑名称,也可能空白)。而其中第四栏「档案路径」因为每个人储存整理图档的方式不同,所以本栏通常不存在,而一般有含有「档案路径」这栏的CSV档,又称为ECSV档案
CSV"
是逗号分隔文件 (Comma Separated Values) 的首字母英文缩写,是一种用来存储数据的纯文本格式,通常用于电子表格或数据库软件。在 CSV
文件中,数据“栏”以逗号分隔,可允许程序通过读取文件为数据重新创建正确的栏结构,并在每次遇到逗号时开始新的一栏。
创建 CSV
文件有许多方法。最常用的方法是用电子表格程序,如 Microsoft Excel
。在 Microsoft Excel
中,选择“文件”>“另存为”,然后在“文件类型”下拉选择框中选择 "CSV (逗号分隔) (*.csv)"
。
csv
格式(即文件后缀为.csv
,属于用excel
软件可编辑的逗号分隔的一种文件格式)。
xls
文件就是Microsoft excel
电子表格的文件格式。我想就不用多介绍了吧,学校里多少都学过的。
CSV
是最通用的一种文件格式,它可以非常容易地被导入各种PC
表格及数据库中。此文件,一行即为数据表的一行。生成数据表字段用半角逗号隔开。
CSV
是文本文件,用记事本就能打开,XLS
是二进制的文件只有用EXCEL
才能打开。
CSV
(以逗号分隔)。
CSV (*.csv)
文件格式只能保存活动工作表中的单元格所显示的文本和数值。工作表中所有的数据行和字符都将保存。数据列以逗号分隔,每一行数据都以回车符结束。如果单元格中包含逗号,则该单元格中的内容以双引号引起。
如果单元格显示的是公式而不是数值,该公式将转换为文本方式。所有格式、图形、对象和工作表的其他内容将全部丢失。欧元符号将转换为问号。
文本文件的内容有ASCII
字符集中的字符组成。
首先:文本文件和二进制文件是有区别的,对于文本文件来说,每个字节(或每几个字节)的意义相同,你只要一个一个字节的读出来就OK了;而对于二进制文件来说,可能有4个字节保存了一个整形,接下去有4个字节保存了一个浮点型等等……所以要想打开二进制文件需要了解它的文件格式。
要想知道文件格式,你可以用16进制编辑器打开一个二进制文件,然后猜测它的格式。
以上是关于CSV(Comma-Separate-Values)逗号分隔值文件的主要内容,如果未能解决你的问题,请参考以下文章