ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 关于SSIS处理csv文件的探讨

关于SSIS处理csv文件的探讨

原创 Linux操作系统 作者:magicgao8888 时间:2009-03-17 09:49:46 0 删除 编辑

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

Example:          注意看下面:

  • 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: 指示在第一个数据行中是否要求列名或提供列名

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

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

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.这样问题就迎刃而解了。            
 

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

处理后的文件如下:

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

3-17-2009 9-47-24 AM.jpg

3-17-2009 10-29-02 AM.jpg

3-17-2009 10-49-09 AM.jpg

3-17-2009 10-53-59 AM.jpg

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/14321372/viewspace-569113/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2009-03-10

  • 博文量
    35
  • 访问量
    73645