首页 > 代码库 > OleDb读取CSV文件:使用指定的分隔符号
OleDb读取CSV文件:使用指定的分隔符号
今天在用OleDb方式读取一个CSV文件的时候,发现得到的文本不是通常用逗号隔开的。而是用Tab制表符来隔开的。
OrderID OrderName1 12 23 3
然后去MSND查询了了下发现有针对Tab制表符的指定参数:
TabDelimited 文件被当做制表符分隔的文件
然后尝试了下降FMT设置为TabDelimited,但是结果却发现并不能得到分隔的结果。貌似被微软的文档坑了还是自己的了理解可能有偏差。看到FMT还有其他的参数,然后就逐一尝试了:
FMT=1 ==>失败FMT=Delimited("+" "+") ==>失败
然后看到网上有说可以改注册表,因为默认值逗号就是设置在注册表里的,这是路径:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Text\Format
但是没找到。。。由于系统是win8可能位置不一样坑爹。。。google也上不了。。。于是改注册表的方式没有得到尝试。而且改注册表也不是推荐的。
在网上serach了半天,终于找到了一个对我来说比较神奇的solution,利用Schema.ini文件。
在CSV文件所在的目录创建一个这样的文件,然后写一下内容:
[Order.csv]Format=TabDelimitedColNameHeader=TrueMaxScanRows=0Col1=OrderID Text Width 10Col2=OrderName Text Width 30
运行程序,得到预期的结果:
OleDb读取CSV文件:使用指定的分隔符号
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。