headerが複数階層のcsvファイルを構造的に読み込む方法
22 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Yutaro Ueoka
le 14 Oct 2022
Commenté : Yutaro Ueoka
le 14 Oct 2022
csvファイルをtableかmatrixとしてでもなんでも良いのですが、読み込みたいです。
質問1:csvファイルの構造が下記のような場合、どのようにしたら読み込めますでしょうか?
layer1 A A A A
layer2 a a b b
layer3 x y x y
--- --- --- ----
t1 1 2 4 5
t2 2 3 5 6
t3 3 4 6 7
...
readtableだと、headerをlayer1か2か3のどれかしか選ぶことができず情報が潰れてしまいます。
質問2:layer1,2,3をconcatenateして、A_a_xのようにすることも考えたのですが、それもどのように行えばよいか分かりませんでした。そちらに関しても分かる方がいらしたら教えて頂きたいです。
どうぞよろしくお願いいたします。
0 commentaires
Réponse acceptée
Akira Agata
le 14 Oct 2022
readcell でまずファイル全体を読み込んだ後、変数名に関する部分と数値データの部分を分けて、最後にテーブル型変数として纏めるという方法はいかがでしょうか?以下はその一例です。
% readcell でとりあえず全体を読み込む
C = readcell("sample.csv");
% 変数名に関する部分と数値データ部分に分ける
C1 = C(1:3, 2:end);
C2 = C(4:end, 2:end);
% 変数名を作成する
varName = join(C1', "_");
% 数値データ部分とあわせてテーブル型変数に整理
T = array2table(cell2mat(C2), "VariableNames", varName)
Plus de réponses (0)
Voir également
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!