readtableで1行目だけを読み取りたい

82 Ansichten (letzte 30 Tage)
KO
KO am 8 Sep. 2021
Kommentiert: KO am 8 Sep. 2021
Matlab R2016a使用者です.
readmatrixなどの関数はないので,readtableでcsvファイルの一部をインポートしたいのですが上手くできないことが多いです.
本来無視されるようなヘッダー情報をむしろ抽出したいので,
readtable(file_name,'HeaderLines',0)
このようにHeaderlineの指定を無くして読み込むのですが,数回に1度,1行目のヘッダーを読み込めないことがあります.
元のcsvデータが特殊で,ヘッダー行の上にさらにヘッダーが1セルだけある形式となっているためこのような不具合が起こるのでしょうか.
(m×n行列の左上に1×1のヘッダーが乗っている,といったデータ配列になっています.)
他に何か良い方法はありますでしょうか.
  3 Kommentare
KO
KO am 8 Sep. 2021
はい、そうです。
ただ添付とは違い、列ベクトルのテーブルで、2行目にヘッダー行が来ます。
KO
KO am 8 Sep. 2021
readtable(file_name,'HeaderLines',0)
で基本的には、はみ出した1行目も読み取ることはできるのですが、なぜだか不具合も多いのです。
readtableは2019以降推奨されていないので、他の関数で代替できるものがあればと思っています。

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Hernia Baby
Hernia Baby am 8 Sep. 2021
Bearbeitet: Hernia Baby am 8 Sep. 2021
ヘッダー名だけがほしいとのことなので、それ以降は数字かなと仮定しています
ここでは xlsread で文字だけをcell型で抽出します
ブラウザでは何故か csv形式を xlsread で読み込めないので xlsx形式を例にしています
[~,str,~] = xlsread('Sample_1.xlsx')
str = 2×6 cell array
{'Sample'} {0×0 char} {0×0 char} {0×0 char} {0×0 char} {0×0 char} {'a' } {'b' } {'c' } {'d' } {'e' } {'f' }
name = str(end,:)
name = 1×6 cell array
{'a'} {'b'} {'c'} {'d'} {'e'} {'f'}
  1 Kommentar
KO
KO am 8 Sep. 2021
ありがとうございます!xlsreadでうまくできました。
迅速にアドバイスいただきありがとうございました。

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Tags

Community Treasure Hunt

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

Start Hunting!