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

Matlab R2016a使用者です.
readmatrixなどの関数はないので,readtableでcsvファイルの一部をインポートしたいのですが上手くできないことが多いです.
本来無視されるようなヘッダー情報をむしろ抽出したいので,
readtable(file_name,'HeaderLines',0)
このようにHeaderlineの指定を無くして読み込むのですが,数回に1度,1行目のヘッダーを読み込めないことがあります.
元のcsvデータが特殊で,ヘッダー行の上にさらにヘッダーが1セルだけある形式となっているためこのような不具合が起こるのでしょうか.
(m×n行列の左上に1×1のヘッダーが乗っている,といったデータ配列になっています.)
他に何か良い方法はありますでしょうか.

댓글 수: 3

Hernia Baby
Hernia Baby 2021년 9월 8일
すみません、おっしゃっているcsvのイメージは添付のようなものですか?
KO
KO 2021년 9월 8일
はい、そうです。
ただ添付とは違い、列ベクトルのテーブルで、2行目にヘッダー行が来ます。
KO
KO 2021년 9월 8일
readtable(file_name,'HeaderLines',0)
で基本的には、はみ出した1行目も読み取ることはできるのですが、なぜだか不具合も多いのです。
readtableは2019以降推奨されていないので、他の関数で代替できるものがあればと思っています。

댓글을 달려면 로그인하십시오.

 채택된 답변

Hernia Baby
Hernia Baby 2021년 9월 8일
편집: Hernia Baby 2021년 9월 8일

1 개 추천

ヘッダー名だけがほしいとのことなので、それ以降は数字かなと仮定しています
ここでは 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

KO
KO 2021년 9월 8일
ありがとうございます!xlsreadでうまくできました。
迅速にアドバイスいただきありがとうございました。

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 cell 配列에 대해 자세히 알아보기

태그

질문:

KO
2021년 9월 8일

댓글:

KO
2021년 9월 8일

Community Treasure Hunt

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

Start Hunting!