Q&A

回答の並べ替え:
投稿新規に質問を投稿する

列が不足しているCSVデータのテーブルへの登録を行う方法

nassy nassy

2024-10-24 11:11

【お尋ねしたいこと】
登録先のテーブルから数列不足しているCSVデータの登録を行う方法があれば教えていただきたいです。(不足列を空白にして登録するなど)

【背景】
・アクション「CSVファイルのデータをテーブルに登録する」を使ってCSVデータをテーブルに登録しようとしている。

・登録しようとしているCSVデータは取込先のテーブルと同じ列を有しているが、(出力条件上)数列不足している。

・取り込むCSVデータとテーブル定義の列に差異がある場合、CELFの仕様上「フィールドが異なります」というメッセージが表示されて登録が行えない。

・不足している列の分は空白としてテーブルへ登録できるようにしたい。

※補足として、取込元のCSVデータはCELF上限の65536件を超える可能性が高いため、全件をシート上に表示させることが難しい。

nassy nassy
Yexiongmao 様

ご回答いただきありがとうございます。
「CSVファイルを読み取り、データ変換して保存する」というアクションがあったとは・・・!把握不足でした。

実際にアクションセットを作成したところ、こちらであればシート上に展開させることなくCSVファイルをテーブル定義に合わせて加工し、登録することができました。

ご提示いただいた方法であれば要望を満たすことができそうです。
ありがとうございます。本件は解決済みといたします。
Yexiongmao Yexiongmao
メダルベストアンサー
こんにちは。

以下のような方法は可能です。

アクションを使用して、テーブル追加用CSVファイルを作成します。

アクションで「フィル操作タブ」-「CSVファイルを読み取りデータを変換して保温する」
データ加工設定で項目を追加し、固定値を項目名にし、項目の加工設定で文字列「=""」を追加する。
追加したCSVファイルからテーブルに登録する。
nassy nassy
nocs様

ご回答いただきありがとうございます。
やはり当条件だとCELF内では列追加して登録は難しいですよね・・・
承知いたしました。ご提供いただいたバッチやexeを用いた案は検討させていただきます。
nocs nocs
こんにちは
列が不足したCSVはいったんシートに出してから登録していくしかないと思いますが、
行上限の65536件を超える可能性が高いとのことですとそれも難しいためCELFでは対応が難しいかと思います。
無理やり行うとするとCELFからバッチやexe等を呼び出してバッチやexeでCSVを成形し不足している列を足してから取込のアクションを行うといったようなことをすればできなくはないかと思います。