複数csvファイルの読み込み

みなさんこんばんわ
図のような、データテーブル定義し、ファルダー内のエクセル(*.xlsxで指定)を複数読み込み、全シート取得、シート名一覧と各項目をデータテーブルの配列にいれてます。

こういったことを、CSVファイルで実施可能でしょうか。
やりたいことは、複数存在するCSVを読み込み、データテーブルに全ていれこみたいです。

@111161

こんばんは。

csvデータをデータテーブルに格納は「csvを読み込む」アクティビティで可能だと思います。
入力としてファイルのフルパスなので、添付されているキャプチャと同じような処理が可能だと思います。

すべてのcsvで同じ列がある場合は、できます。サンプルファイルを共有してください。

Thank you

お疲れ様です
あるディレクトリに複数CSVを格納し、*.csvのようにして繰り返し読み込みをしました
結果、1つのファイルしか読み込んでないように思えます

@ksrinu070184さん
サンプルファイルを添付いたしますsample.xlsx (9.5 KB)

このようなファイルが複数個存在し、それらを、1つのデータテーブルに取り込みたいです。

こんにちは。

提示されたワークフローの画面ショット、もうちょっと下が見たいですね・・
繰り返し(コレクションの各要素)の中で行っているのが、今見えている「CSVを読み込み」だけだったりしませんか?

だとすると、各CSVを読み込んだ結果を、
一つのデータテーブル(Category_データテーブル)に何度も上書きしてしまっていて
最終的に最後に読み込んだCSVの内容しか保持していない、という可能性があります。

@rfu
おっしゃる通りです!!
上書きされているように思います。
特に下の方で、その他のアクティビティいれておりません。

やはり。
ちなみに画面ショットの上で見切れている部分でデータテーブルの列定義をしている感じでしょうか?
であれば、ひとまず「CSVを読み込み」の出力先を
何か適当な別のデータテーブル変数を作成して、それに設定してやって、
そのすぐ次の処理(繰り返しの中)に「データテーブルのマージ」を入れてみてください。
※ソースが新しく作成したデータテーブル変数、保存先がCategory_データテーブルになると思います
データテーブルの構築が正しく行われていればマージが正常に動作する・・はずです。

@rfu
了解しました!試してみます。
はじめにデータテーブルを定義し、それに繰り返し値をいれようとしましたが、上書きされているのですね。
別テーブルも定義し、その中に追加、その後マージ処理を実装いたします

データテーブルA・B2つ定義
ループ処理の中で、Bに読み込み、マージ処理でBをAに移送

これを10回繰り返せば、10ファイル分Aの中に値がセットされるイメージと認識しました

はじめにデータテーブルを定義し、それに繰り返し値をいれようとしましたが、上書きされているのですね。

おっしゃる通りです。「CSVを読み込み」は出力先データテーブルの内容を上書きしてしまうので、
いったん別のデータテーブルに保存したうえで別のデータテーブルにマージしてやる必要があります。

データテーブルA・B2つ定義
ループ処理の中で、Bに読み込み、マージ処理でBをAに移送 ←この行の処理をn回繰り返す

そんな感じですね。
厳密にいえばデータテーブルAはループに入る前に列定義が必要ですが、
BはCSVを読み込む際に列定義ごと作成されますので変数だけ作っておけば大丈夫かと。

@rfu

そんな感じですね。
厳密にいえばデータテーブルAはループに入る前に列定義が必要ですが、
BはCSVを読み込む際に列定義ごと作成されますので変数だけ作っておけば大丈夫かと。

そうだったんですね!!いやあ便利ですね。ありがとうございます。

@rfu
無事上書きされず、すべてのCSVを格納できました!
ありがとうございました。

1 Like

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.