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

34 visualizaciones (últimos 30 días)
Yu
Yu el 27 de Ag. de 2021
Comentada: Yu el 30 de Ag. de 2021
ある観測データがあり、1時間ごとにファイルが分かれており、ファイル名はそれぞれ異なっています。(ファイル名は連番ではないものもあります)
これらのファイルデータを全てインポートして、全データを統合して分析やplotを作成したいと思っていますが、どんなふうにしたら簡単にまとめられるか思いつきません…。
よい方法をご存知の方がいらっしゃいましたらご教示ください。
完成イメージはこんな形です。

Respuesta aceptada

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

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre table en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!