CSV解析规则

来源:互联网 发布:淘宝店铺子账号在哪 编辑:程序博客网 时间:2024/06/18 18:06

1、没有引号——正常
2、一个引号
①、引号在第一列:需要配对儿其他引号,配对原则:如果下一个引号后面还是引号,则继续查找,直到找到一个引号后面是逗号或换行,适用第6条规则。如果没有找到引号或者引号后面并非逗号,则无视前两个引号。如果没有找到引号,则无视该引号。
②、引号在其他列:无需配对儿,作为普通字符处理。
3、两个引号
①、第一个引号在第一列,配对原则:无视这两个引号。
②、第一个引号在其他列,配对原则:作为普通字符处理。
4、三个引号
说明:对于第一个引号在第一列且不与第二个引号相邻的情况,验证wps和excel发现解析规则不同,并且给出了奇怪的显示方式。故在此定义自己的解析规则。
①、第一个引号在第一列,且其他两个引号不相邻,配对原则:无视前两个引号,第三个引号作为普通字符。
②、第一个引号在第一列,且其他两个引号相邻,配对原则,找到下一个引号,如果下一个引号后面是逗号或换行,适用第5条规则。如果下一个引号后面还是引号,则继续查找,直到找到一个引号后面是逗号或换行,适用第6条规则。如果没有找到引号或者引号后面并非逗号,则无视前两个引号。
③、第一个引号不在第一列,配对原则:三个引号都作为普通字符
5、四个引号
①、第一个引号在第一列,且第四个引号在最后一列,且其他引号相邻,配对原则:无视第一个和最后一个引号,其他引号——两个引号作为一个引号。
②、第一个引号在第一列,且第四个引号在最后一列,且其他引号不相邻,配对原则:无视前两个引号,其他引号作为普通字符处理。
③、第一个引号在第一列,(且第四个引号不在最后一列,)且其他三个引号相邻,配对原则:无视第一个引号,其他引号作为一个引号。说明:该规则与本条第一个规则类似。总体可以解释为——第一个引号在第一列,最后一个引号前面的列满足每两个引号相邻,作为一个引号。
④、第一个引号在第一列,且其它三个引号不相邻,配对原则:无视前两个引号,其他引号作为普通字符
说明:四个引号的规则中①与③相同,②与④相同。
6、四个以上引号
①、奇数个引号,如果第一个引号在第一列,其它每两个引号相邻,则找到下一个引号,该引号后面如果不是逗号或者换行,则无视前两个引号,其它引号作为普通字符。如果是,则使用本条的②。如果没有找到引号,则无视前两个引号。
②、对于偶数个引号,如果第一个引号在第一列,且除最后一个引号之外的其他引号两两相邻,则无视第一个和最后一个引号,其它每两个引号视为一个引号。中间的换行使用/r/n替换。如果第一个引号不在第一列,则无视前两个引号。

原创粉丝点击