Tableデータ名に日本語が含まれている場合の処理
44 次查看(过去 30 天)
显示 更早的评论
いつも大変お世話になっております。
エクセルで編集されたデータ名に日本語が含まれており、それをそのままテーブルに取り込むと、日本語の部分が文字化けしてしまいます。
下記リンクを参照にコーディングしましたが、文字化けしてしまいます。
解決策などはありますでしょうか。
よろしくお願いいたします。
2 个评论
stozaki
2020-10-2
Yuya Iwasaki 様
お世話になっております。
読み込まれたエクセルファイル (対象文字列を含む箇所だけでも可) の添付と、読み込みに使用した関数と引数設定を教えて頂くことは可能でしょうか?
stozaki
采纳的回答
stozaki
2020-10-2
编辑:stozaki
2020-10-2
Yuya Iwasaki様
データの添付及び、コマンド例を記載頂きましてありがとうございます。
ご利用頂いているMATLABバージョンがR2017aとのことで、行名に日本語等のマルチバイト文字取得の対応が出来ないようです。R2019b以降ですと、以下のオプション引数をつけることで読み込みができます。
TD2 = readtable('sample.csv','PreserveVariableNames',true)
R2017bの場合、出力が 'String' 型ではありますが、以下のコマンドで取得が可能かと思います。
% 変数初期化
filename = 'sample.csv';
delimiter = ',';
formatSpec = '%s%s%s%s%s%[^\n\r]';
% テキスト ファイルを開きます。
fileID = fopen(filename,'r');
% データの列を書式設定に従って読み取ります。
dataArray = textscan(fileID, formatSpec, 'Delimiter', delimiter, 'TextType', 'string', 'ReturnOnError', false);
% テキスト ファイルを閉じます。
fclose(fileID);
% TD2 に出力
TD2 = [dataArray{1:end-1}];
% 一時変数のクリア
clearvars filename delimiter formatSpec fileID dataArray ans;
ご検討頂けますでしょうか。
stozaki
0 个评论
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Data Import from MATLAB 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!