怎么解析字段里本来就含逗号的csv文件
作者: princess911 发布时间: 2011-06-16
作者: tang688 发布时间: 2011-06-16
作者: tang688 发布时间: 2011-06-16
你用Excel保存一个带逗号数据的表为csv看看。应该用引号括起来的。
作者: caozhy 发布时间: 2011-06-16
现在用户的数据是英文的,所以是英文的逗号.比如公司名: ABC CO.,LTD
作者: princess911 发布时间: 2011-06-16
所以用户不愿意替换成中文的逗号.
作者: princess911 发布时间: 2011-06-16
(2)既然你不遵循csv的格式,你需要自己设计一种格式约定。
你必须消除这种二义性。
作者: caozhy 发布时间: 2011-06-16
用户本来就是用Excel输入然后另存为csv文件的(或者让用户另存为其它格式更好处理?),然后我需要用VB程序去解析这个csv文件.
有逗号的字段会用引号括起来,可是并不是每个字段都有逗号,所以不能用引号加逗号来split每一行.很想找到个便捷的方式来解析这个文件,数据的例子如下:
user name,company name,profile
apple,apple company,iphone,
abc,"ABC CO.,LTD",test,
作者: princess911 发布时间: 2011-06-16
(2)的话对于我们的程序肯定更好处理,比如1-10位是第一个字段,11-50位是第二个字段..
可这样用户不太好进行原始数据的输入,不好操作...
(1)将你非法的csv变成合法的
(2)既然你不遵循csv的格式,你需要自己设计一种格式约定。
你必须消除这种二义性。
作者: princess911 发布时间: 2011-06-16
直接借助数据库引擎读取。
Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties='Text;HDR=NO';Data Source=yourfile.csv
作者: caozhy 发布时间: 2011-06-16
作者: caozhy 发布时间: 2011-06-16
作者: princess911 发布时间: 2011-06-16
使用这个东东就直接把数据导入到一个表中了吗?
不需要手工解析。
直接借助数据库引擎读取。
Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties='Text;HDR=NO';Data Source=yourfile.csv
作者: princess911 发布时间: 2011-06-16
要保存逗号的话,必须在“”里面才行。
这样的话,自能自己解析了,“”里面的逗号不能作为逗号分割了。
不是很多,不过要考虑一下要保存“的时候怎么办,“”里面的“必须是两个换一个。
就像c里面的\
代码不是很多的.
自己写吧.
祝你好运.
作者: jiangtao1978 发布时间: 2011-06-16