码迷,mamicode.com
首页 > 数据库 > 详细

OleDb读取CSV文件:使用指定的分隔符号

时间:2014-09-27 23:13:00      阅读:362      评论:0      收藏:0      [点我收藏+]

标签:blog   http   io   os   使用   ar   for   文件   sp   

今天在用OleDb方式读取一个CSV文件的时候,发现得到的文本不是通常用逗号隔开的。而是用Tab制表符来隔开的。

 

OrderID    OrderName
1    1
2    2
3    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=TabDelimited
ColNameHeader=True
MaxScanRows=0
Col1=OrderID Text Width 10
Col2=OrderName Text Width 30

运行程序,得到预期的结果:

bubuko.com,布布扣

OleDb读取CSV文件:使用指定的分隔符号

标签:blog   http   io   os   使用   ar   for   文件   sp   

原文地址:http://www.cnblogs.com/fred-bao/p/3997143.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!