0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【DataMagic】データ加工やってみた!フォーマット形式からCSV形式へ

0
Last updated at Posted at 2026-05-02

はじめに

レイアウト定義の フォーマット形式 の《固定長》と《可変長》についての説明をしたので、これまでに登録した定義を使って、今度は フォーマット形式 から CSV形式 に変換するデータ加工をやってみます。

今回使用するレイアウトの定義については、以下を参照してください。

あれ?〝CSV形式〟や〝フォーマット形式の《固定長》〟は? と思われたアナタ。

今回CSV形式の定義は、ID省略で対応します。IDを登録する場合は レイアウト定義_CSV編 も参照してください。

また、フォーマット形式の《可変長》編で作成したフォーマットは、すべてが可変長の項目ではなく、固定長の項目と組合わせています。

なので、今回の説明に固定長ONLYのフォーマットは使用しません。

入力データ

今回の入力データは、フォーマット形式の《可変長》編で作成した出力ファイルを使用します。

作るのが面倒な方は、以下のデータを使用してください。

可変長(デリミタ指定)用
1000000東京都  千代田区$以下に掲載がない場合$トウキョウト      チヨダク$イカニケイサイガナイバアイ
1020072東京都  千代田区$飯田橋$トウキョウト      チヨダク$イイダバシ
1020082東京都  千代田区$一番町$トウキョウト      チヨダク$イチバンチョウ
1010032東京都  千代田区$岩本町$トウキョウト      チヨダク$イワモトチョウ
1010047東京都  千代田区$内神田$トウキョウト      チヨダク$ウチカンダ
1000011東京都  千代田区$内幸町$トウキョウト      チヨダク$ウチサイワイチョウ
可変長(項目名指定)用
082005151000000東京都  千代田区以下に掲載がない場合トウキョウト      チヨダクイカニケイサイガナイバアイ080605071020072東京都  千代田区飯田橋トウキョウト      チヨダクイイダバシ080605081020082東京都  千代田区一番町トウキョウト      チヨダクイチバンチョウ080605071010032東京都  千代田区岩本町トウキョウト      チヨダクイワモトチョウ080605061010047東京都  千代田区内神田トウキョウト      チヨダクウチカンダ080605091000011東京都  千代田区内幸町トウキョウト      チヨダクウチサイワイチョウ

なお、フォーマット形式の《可変長》編で作成した「項目名指定」の出力データには、出力結果が見易いように「改行コード」を付加しています。
今回の入力ファイルに使用する場合は、「レコードごとに改行する」の :white_check_mark: を外して、出力ファイルを作り直してから使用してください。

可変長(デリミタ指定)から CSV

データ加工の入出力に関する設定の説明は、ここでは省略。

ここでは、以下の条件で設定します。

  • 入力側のフォーマットIDは、可変長(デリミタ指定)で登録したIDを使用
  • 出力側のCSVはID省略。区切り文字=, | 囲み文字="
  • その他の項目は、初期値使用

マッピング

関係線はこんな感じでシンプルに。
入力項目と出力項目の間を、上から順に引いてみました。

Qiita_037-01.jpg

出力結果はこちら :arrow_down:

Qiita_037-02.jpg

  • 入力側の項目はすべて文字タイプ(XまたはM)なので、すべての出力項目に囲み文字(")付
  • 固定長の項目は指定されたバイト数、可変長の項目はデリミタ($)で区切って、CSVの各項目に出力
  • 都道府県名("東京都"や"トウキョウト")の後ろに空白が無いのは、出力設定で「文字データの後ろスペースの扱い」を〝カットする〟にしているから。
    項目別にスペースの扱いを変えたい時は、マッピング情報の「出力項目情報」で個別に設定します。
    下図のように、2項目目の「都道府県名ー漢字」の後ろスペースを〝カットしない〟に設定した場合は 
    Qiita_037-03.jpg

    以下のように、「都道府県名ー漢字」の後ろのスペースはカットされずに "東京都 " で出力されます。
    Qiita_037-04.jpg

可変長(項目名指定)から CSV

データ加工の入出力に関する設定の説明は、ここでは省略。

ここでは、以下の条件で設定します。

  • 入力側のフォーマットIDは、可変長(項目名指定)で登録したIDを使用
  • 出力側のCSVはID省略。区切り文字=, | 囲み文字="
  • その他の項目は、初期値使用

マッピング

関係線はこんな感じでシンプルに。
項目長を格納している上の4項目は外して、5項目目から順に引いてみました。

Qiita_037-05.jpg

出力結果はこちら :arrow_down:

Qiita_037-06.jpg

可変長の項目は、指定された項目に格納されたバイト数で区切って、CSVの各項目に出力されています。

以上です。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?