複数データのインポートと統合

21 vues (au cours des 30 derniers jours)
Yu
Yu le 27 Août 2021
Commenté : Yu le 30 Août 2021
ある観測データがあり、1時間ごとにファイルが分かれており、ファイル名はそれぞれ異なっています。(ファイル名は連番ではないものもあります)
これらのファイルデータを全てインポートして、全データを統合して分析やplotを作成したいと思っていますが、どんなふうにしたら簡単にまとめられるか思いつきません…。
よい方法をご存知の方がいらっしゃいましたらご教示ください。
完成イメージはこんな形です。

Réponse acceptée

Toru Ikegami
Toru Ikegami le 27 Août 2021
Modifié(e) : Toru Ikegami le 27 Août 2021
こんにちは,
同じ形式のファイルをある程度の数処理するのでしたら,データストアを利用してみるのはいかがでしょう.データストアの概要はドキュメントの 「データストア入門」を参照してください.
読み込みたいファイルが全て 'dataFolder' という名前のフォルダに格納されているとすると,次の2行で,フォルダにある全てのファイルを読み込み,データを結合したテーブル変数 dataTbl を生成することができます.
ds = tabularTextDatastore('dataFolder');
dataTbl = readall(ds);
上の2行が基本になるのですが,フォルダの中の特定の拡張子を持つファイルのみを処理するとか,読み込む際のデータの型を指定するなど,様々なオプションを利用することが出来ます.「データストア入門」と,tabularTextDatastore のドキュメントを参考にされると良いと思います.
添付されていたファイルに対して有用かと思われるオプションをつけると次のようになるでしょうか.
ds = tabularTextDatastore('dataFolder','TextType','string','DatetimeLocale','ja_JP');
  5 commentaires
Toru Ikegami
Toru Ikegami le 30 Août 2021
すみません.お伝えした例だと fileDataStore を構成する際に,ファイルの拡張子を指定していませんでした.以下試してみていただけますか?
ds = fileDataStore("dataFolder","ReadFcn",@(x) readtable(x,opt),...
"UniformRead",true,"FileExtensions","txt");
拡張子無指定ですと,フォルダ内にある全てのファイルを読み込むので,MATLABが生成する.DS_Store というファイルをも読み込んで,他のファイルから読み込んだデータと結合しようとします.この過程でエラーが発生すると考えられます.
Yu
Yu le 30 Août 2021
".txt"
で無事読み込めました。
何度も丁寧にご対応くださりありがとうございました!

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur データのインポートとエクスポート dans Help Center et File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!