none
フラットファイル読込 RRS feed

  • 質問

  • 下記のデータをうまく読込めず苦労しています。

    0025,A-25,320
    0035,"A-25,X",360
      40,A-40,410

    区切文字を含む場合は引用符で囲まれる
    数字の左側にゼロがある
    数字の左側にスペースがある

    今のところ、Excelでタブ区切りに変換してますが、ゼロやスペースが消えてしまいます。

    良い方法は無いでしょうか?

    2013年1月26日 23:42

回答

  • こんにちは、Tokugawa1600 さん
    フォーラムオペレータの佐伯 玲 です。

    過去に少し似た事例があります。

    SSISのフラットファイルソースでダブルクォートを含むデータを読み込む方法
    http://social.msdn.microsoft.com/Forums/ja-JP/sqlserverbija/thread/fa1022a8-7f56-4a15-b688-9035c9fe32ea


    こちらのスレッド内の情報にあるように個別にエスケープすることは難しくデータ中に存在しないものを区切り文字として使用されるのが一番良いのではないかと思われます。

    使用出来る区切り文字は以下を参照下さい。
    http://msdn.microsoft.com/ja-jp/library/ms180239.aspx


    投稿頂いている例を見ますと既に区切り文字としての「コンマ(,)」とデータとしての「コンマ(,)」が混在してしまっています。
    もし元のデータの生成時に使用する区切り文字を変更できない場合には「ダブルコーテーション(")」で囲まれている「コンマ(,)」のみ置き換えから除外しつつ「コンマ(,)」を別の区切り文字へ変換するプログラムを個別に作成されるか、テキストエディタ等で一括で置き換えた後にデータとしての「コンマ(,)」が入っていた個所を手直しされる必要があるのではないかと思います。


    ご参考になりましたら幸いです。
    __________________________
    日本マイクロソフト株式会社 フォーラム オペレータ 佐伯 玲

    • 回答としてマーク 佐伯玲 2013年1月29日 0:09
    2013年1月28日 2:02

すべての返信

  • こんにちは、Tokugawa1600 さん
    フォーラムオペレータの佐伯 玲 です。

    過去に少し似た事例があります。

    SSISのフラットファイルソースでダブルクォートを含むデータを読み込む方法
    http://social.msdn.microsoft.com/Forums/ja-JP/sqlserverbija/thread/fa1022a8-7f56-4a15-b688-9035c9fe32ea


    こちらのスレッド内の情報にあるように個別にエスケープすることは難しくデータ中に存在しないものを区切り文字として使用されるのが一番良いのではないかと思われます。

    使用出来る区切り文字は以下を参照下さい。
    http://msdn.microsoft.com/ja-jp/library/ms180239.aspx


    投稿頂いている例を見ますと既に区切り文字としての「コンマ(,)」とデータとしての「コンマ(,)」が混在してしまっています。
    もし元のデータの生成時に使用する区切り文字を変更できない場合には「ダブルコーテーション(")」で囲まれている「コンマ(,)」のみ置き換えから除外しつつ「コンマ(,)」を別の区切り文字へ変換するプログラムを個別に作成されるか、テキストエディタ等で一括で置き換えた後にデータとしての「コンマ(,)」が入っていた個所を手直しされる必要があるのではないかと思います。


    ご参考になりましたら幸いです。
    __________________________
    日本マイクロソフト株式会社 フォーラム オペレータ 佐伯 玲

    • 回答としてマーク 佐伯玲 2013年1月29日 0:09
    2013年1月28日 2:02
  • 佐伯様

    もしかするとプログラムを作らずにすむ方法があるかと僅かに期待したのですが、やはり作るしか無さそうですね。

    ありがとうございました。

    2013年1月28日 13:06