`
zhang_xzhi_xjtu
  • 浏览: 524462 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

CSV文件的一些注意点

 
阅读更多
狭义的csv是comma separated values.
wiki的定义
CSV is a delimited data format that has fields/columns separated by the comma character and records/rows terminated by newlines.

广义的csv是以任意一个字符分隔的平面文件。

没有严格的标准,RFC 4180试图规范化CSV。

每条记录结束于行终止符。
每个字段用分隔符分隔(一般是逗号)。

常见的一些约束:

DOS-style lines that end with (CRLF) characters
每一个记录包含相同数目的字段,并且字段顺序相同。
任何字段可以用双引号引住。
字段中如果包含(行结束符)\r\n,双引号,逗号,该字段必须用双引号包住。
字段中的双引号用连续2个双引号表示。同时,该字段必须用双引号包住。
CSV文件不需要特定的字符集,编码,byte order,行结束符。
字段中的数据按照字符解释,不按字节解释。
同一记录相邻字段必须用分隔符隔开。

看例子:





说明:
第1行
左边:比较简单,不解释。
右边:字段可以用双引号包住。

第2行
左边:b","b被解释为2个字段,前一个字段为b",后一个字段以双引号开始,所以会跨行寻找该字段的值,直到配对的双引号或文件结束。
右边:"b","b"被解释为2个被双引号包住的字段。

第3行
左边:"b"",""b"被解释为一个字段被双引号包住,中间的连续双引号被转义为双引号。
右边:"b,b"被解释为一个字段被双引号包住,中间的分隔符,原样输出。

第4行
左边:b","b被解释为2个字段,前一个字段为b",后一个字段以双引号开始,所以会跨行寻找该字段的值,直到配对的双引号或文件结束。
右边:b"","b被解释为2个字段,前一个字段为b"",因为该字段没有以双引号开始,因此,连续的双引号没有转义。

第5行
左边:b""b被解释为一个字段。
右边:验证双引号开始的字段的跨行查找。

第6行
左边:"""的情况,字段以双引号开始,接下来的2个双引号转义,接下来查找该字段的其他值。
右边:单引号没有特殊功能,空和""含义相同。

第7行
左边:验证单引号没有特殊功能。

再补充一个
"aaaa"aa"aa被解释为6个a+"+aa,字段以"开头会寻找第一个匹配的",但是不代表字段结束。

更复杂的例子。
a,"aa"a
b,bb

这个问题,动手设计用例比较重要。
  • 大小: 87.2 KB
分享到:
评论

相关推荐

    java读写excel、csv文件

    文件中包括读取excel、csv文件,同时可以将读取出的文件内容保存在另外一个excel或csv中。注意excel2003和excel2007调用的jar包也不一样,需要将代码进行修改。2007版的将HSSF改成XSSF,2003相反。csv文件用XSSF

    c++语言CSV文件分割解析

    使用c++开发的csv文件解析类。 namespace cpp { namespace str { /** 高性能的 csv 解析 */ class csv_parser { public: typedef std::pair, size_t > string_t; typedef std::vector<string_t > fields_t; ...

    将多个csv文件数据导入到数据库对应表中

    将多个csv文件数据导入到数据库对应表中,需要注意各表心得主键获取并插入到关联表中,时间格式,值是null的字符串处理等事项。

    python读写csv文件实例代码

    Python读取与写入CSV文件需要导入Python自带的CSV模块,然后通过CSV模块中的函数csv.reader()与csv.writer()来进行CSV文件的读取与写入。 写入CSV文件 import csv # 需要import csv的文件包 out=open(aa.csv,'wb') ...

    python对csv文件的操作、注意事项及详解(实际运行成功案例)

    python对csv文件的操作、注意事项及详解(实际运行成功案例)

    csv文件转换为kml文件的可靠工具

    3、本工具可用于半自动csv文件生成kml文件,注意是半自动 4、本工具需要一定OFFICE手动操作 5、本工具不涉及任何大地坐标系向地球坐标系的转换 6、本工具生成的kml文件仅用于谷歌地球使用,作者不保证在其他软硬件中...

    CSV文件转换代码实现

    CSV是逗号分隔值(Comma-Separated Values)的缩写,是一种常用的文本格式,用于存储和交换结构化的...在处理CSV文件时,需要特别注意带有特殊字符或换行符的字段可能需要进行转义或包装,以确保数据的准确性和完整性。

    数据清洗之 csv文件读写

    csv文件读写 pandas内置了10多种数据源读取函数,常见的就是CSV和EXCEL 使用read_csv方式读取。结果为dataframe格式 在读取csv文件时,文件名称尽量是英文 参数较多,可以自行控制,但很多时候用默认参数 读取csv时...

    将CSV文件读入MySQL

    需要先创建表结构,注意编码格式。点击右键,选择table data import wizard,找到CSV文件,导入时查看导入处理明细

    19680条豆瓣影视数据,csv文件,无重复。

    内容主要包括:影视豆瓣id、影视名称、导演、导演豆瓣id、编剧、编剧豆瓣id、演员、演员豆瓣id、类型...(豆瓣id都与相应网页前缀组合生成对应url).(注意是影视数据,不只是电影,还包括连续剧,动漫等等,别下错了)

    python 写的一个json转csv文件的脚本

    用python 写的一个json转csv文件的脚本,csv 文件的分隔符用的 '|' ,hard code 到代码里了。 使用方法: 1. 直接执行 python json2csv.py (待转换文件hard code 到代码里) 2. 转换完后先打开excel ,然后从excel ...

    CSV 转 VCF 工具

    使用前需将EXCEL文件另存为CSV文件,再用本软件打开。然后选择表头对应关系,然后直接生成即可。 注意:EXCEL文件的第一行必须有表头,表明各列的类型。 本软件生成的.VCF文件为UTF-8无BOM编码的,亲测小米4S可以导入...

    批量修改csv文件编码错乱问题

    请注意,这个脚本将原始CSV文件备份到UTF-8编码的临时文件,然后删除原始文件,并将UTF-8编码的文件重命名为原始文件名。如果您需要保留原始文件,建议在执行脚本之前备份文件夹中的CSV文件。 希望这个脚本满足您的...

    CSV2FIT:该代码将WGS-84坐标从CSV文件转换为Garmin FIT课程文件

    CSV2FIT 该代码将WGS-84坐标从CSV文件转换为Garmin FIT课程文件。 基于版本16,此代码将CSV文件(可以从下载)转换为Garmin FIT课程文件,以上传到Forerunner 910XT等。设备。 请注意,FIT文件结构与FIT SDK下载中...

    C#解析Excel文件(CSV格式)

    游戏编程中经常需要涉及到解析CSV格式的表格文件。本资源使用C#进行处理。附件里还有一个test.xlsx,是一些比较特殊情况,可以用它来做测试。主要注意excel对于"的处理,主要思路就是先根据逗号拆分单元格,但这样会...

    商品批量导入csv样例文件下载

    商品批量导入csv样例,请解压后使用 注意事项: 1、导入的csv是按照以下顺序编排,共29列 ...4、请注意编码,如果你的网店是utf-8编码务必在导出csv后,用文本编辑器EditPlus将文档转成utf-8编码

    Python对csv文件指定单元格的处理

    CSV文件:Comma-Separated Values,逗号分隔值或者字符分割值,其文件以纯文本的形式存储表格数据。用文本文件和Excel都可以打开CSV文件。 下面是分别用excel和记事本打开的两个csv文件。 规范的t.csv 非规范的...

    Navicat for MySql可视化导入CSV文件

    3、选择要导入的.csv文件,注意编码格式与文件编码格式一样否则会出现乱码,然后进行下一步 4、选择需要的分隔符,我用的Linux,所以record delimiter这个记录分隔符为LF,来表示下一行 5、根据你的csv文件内容来...

    python爬虫 链家,写入CSV

    要实现通过Python爬虫获取链家网站的数据并将其写入CSV文件,可以按照以下描述进行操作: 导入所需模块:首先,导入所需的模块,例如requests、BeautifulSoup和csv等。requests模块用于发送HTTP请求获取网页内容,...

    CSV-Reader-Demo:从存储到数据库的 CSV 文件(格式 - 姓名和号码)中读取您的联系人并通过呼叫功能显示它

    CSV-阅读器-演示 从存储到数据库的 CSV 文件(格式 - 姓名和号码... 注意:您必须制作一个 csv 文件并将其与您设备的 SD 卡放在一起。 csv 文件的格式必须类似于,第一个字段 NAME 和第二个字段是 NUMBER 快乐编码干杯

Global site tag (gtag.js) - Google Analytics