`
terran_li2008
  • 浏览: 200173 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

关于SSIS处理csv文件

 
阅读更多

以下内容转自:http://blog.sina.com.cn/s/blog_620e630f0100vaen.html

 

SSIS中处理平面文件的时候需要一个Flat File Source的组件,我们可以在SSIS Connection manager for Flat Files进行定义。这里的Flat File可以是txt,csv,xls等格式的文件。下面就以一个实际的例子给大家说明。

Example:         关于SSIS处理csv文件的探讨注意看下面:
关于SSIS处理csv文件的探讨

  • File name:   键入要在平面文件连接中使用的路径和文件名         
  • Locale:        指定区域设置,以便为排序以及日期和时间格式提供语言特定的信
  • Code page:  指定非 Unicode 文本的代码页,这里因为我的整个开发环境是英文的所以默认为 ANSI - Latin I
  • Format:       指示文件是否使用带分隔符、固定宽度或右边未对齐的格式

说明

Delimited

                各列之间由在“列”页上指定的分隔符隔开。

Fixed width

                列的宽度固定。

Ragged right

                在右边未对齐的文件中,除最后一列之外的每一列的宽度都固定。它由行分隔符分隔。

  • Header row delimiter:

 

说明

{CR}{LF}

标题行由回车符和换行符的组合分隔。

{CR}

标题行由回车符分隔。

{LF}

标题行由换行符分隔。

Semicolon {;}

标题行由分号分隔。

Colon{:}

标题行由冒号分隔。

Comma {,}

标题行由逗号分隔。

Tab{t}

标题行由制表符分隔。

VerticalBar{|}

标题行由竖线分隔。

  • Header rows to skip:  指定要跳过的标题行数或初始数据行数(如果有的话)
  • Column names in the first data row: 指示在第一个数据行中是否要求列名或提供列名

在进行了一些设置后,我们看到的例子:

关于SSIS处理csv文件的探讨

实际上我们需要得到的数据应该是这样的:

Date                                            Most Popular Site Sections                                                 Page Views

Feb 1 2009                                  hotel serch results                                                                520417

分析:

  1. CSV逗号分隔值文件(Comma Separated value),是一种用来存储数据的纯文本文件格式,通常用于电子表格或数据库软件
  2. 源文件中的数据    Feb 1,2009                         hotel search results             520,417
  3. Page Views 一列的数据是科学计数,而且逢科学计数就有{"}出现

怎样解决这个难题,最初想到的办法是借助临时表,于是就有了对于csv文件中{,}和{"}的处理这篇文章。后来查阅了很多资料,如下有很多对csv文件处理的文章都有不错的借鉴之处。

这样的方法都是先把源数据导入一列然后对这个列进行操作,还不是很理想。最后客户建议了一下,觉得这样的方法太棒了。其实我们在处理数据的时候忽视了Text Qualifier属性

  • Text Qualifier: 指定要使用的文本限定符。例如,可以指定文本字段必须用引号括起来。

OK.这样问题就迎刃而解了。            
 关于SSIS处理csv文件的探讨

请注意上面红色标识的部分。

处理后的文件如下:

关于SSIS处理csv文件的探讨

这样数据就和我们期望的很接近了,接下来的事情就可以借助Derived Column这个组件来处理,然后倒入目的表就OK. 关于怎样使用Derived Column处理的例子请等待.

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics