エクセルから読み込ん​だテーブルの文字列を​appendしたい

8 views (last 30 days)
Kazu Ari
Kazu Ari on 28 Nov 2022
Commented: Kazu Ari on 29 Nov 2022
エクセルから読み込んだtableにある文字列を式の中で文字列として扱いたいのですがどうやったら良いでしょう?
初歩的な質問で申し訳ありません。
>> x=readtable("Book1.xlsx")
x =
4×3 table
name address age
__________ _________ ___
{'arai' } {'北海道'} 49
{'satou' } {'鹿児島'} 40
{'ikeda' } {'栃木' } 39
{'yokota'} {'長野' } 22
>> a = x(1,1)
a =
table
name
________
{'arai'}
<<読み込んだaがtableになっているのは何故?>>
>> append(a,"test")
エラー: append (行 49)
入力 はテキストでなければなりません。

Accepted Answer

Kojiro Saito
Kojiro Saito on 28 Nov 2022
tableデータ型へのアクセスについてはこちらのドキュメントが参考になると思います。
x(1,1)では出力タイプが「指定した行と変数を含む table」になってしまいます。
出力タイプが「1 つの変数と指定した行からデータを抽出する配列」になるように、
T.var(rows)またはT.(expression)(rows)でアクセスすると良いので、x.name(1)またはx.(1)(1)にしてみたら実現できると思います。
x=readtable("Book1.xlsx")
x = 4×3 table
name address age __________ _________ ___ {'arai' } {'北海道'} 49 {'satou' } {'鹿児島'} 40 {'ikeda' } {'栃木' } 39 {'yokota'} {'長野' } 22
a = x.name(1)
a = 1×1 cell array
{'arai'}
append(a, "test")
ans = "araitest"
a2 = x.(1)(1)
a2 = 1×1 cell array
{'arai'}
append(a2, "test")
ans = "araitest"
  1 Comment
Kazu Ari
Kazu Ari on 29 Nov 2022
ありがとうございます。
教えて頂いたリンク先も読んでいたのですが、ちょっと理解が追い付いていませんでした。

Sign in to comment.

More Answers (0)

Tags

Products


Release

R2020b

Community Treasure Hunt

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

Start Hunting!