shift-JIS形式でCSV出力をする方法

98 次查看(过去 30 天)
MATLAB2022aでの動作確認をしています。
2022aにて、2019b以前のバージョンで使用していたCSVファイル出力(ヘッダーデータ日本語含む+データ配列)のm-fileを実行するとCSVファイルはUTF-8で出力されます。
メモ帳等で開くと日本語部分の文字化けはしていませんが、エクセルで開くとヘッダーの日本語部分は文字化けを起こしています。
(2019b以前のバージョンではShift-JISで出力され問題はありませんでしたが、2020aからデフォルトの文字コードがUTF-8に変更された影響かと思います。)
業務上csvファイルを直接エクセルで開くといった頻度も多いことから、Shift-JISでCSV出力をしたいのですが、何かしらの操作や設定変更等で対応可能でしょうか。
お手数をおかけしますが教えて頂きたく思います。
  2 个评论
Hernia Baby
Hernia Baby 2022-7-25
1点質問させてください
①出力の関数はどれを使っていましたか?
 csvwriteでしょうか?それともwritetableでしょうか?
k-inoue
k-inoue 2022-7-25
ご検討頂いていましたら申し訳ありませんが、コードを見直していたところ自己解決できました。
下記のようなコードでCSVファイルを出力していましたが、1行目のコードを2行目に変更することでMATLAB2022aでもUTF-8ではなく、Shift-JISでCSV出力ができました。
**************************************************************:
%fid = fopen('sample.csv','wt'); 
fid = fopen('sample.csv','wt','n','Shift_JIS'); 
header1='日本語';
header2='単位';
fprintf(fid,'%s\n',header1);
fprintf(fid,'%s\n',header2);
sampledata=(1:1:10)';
for i = 1:1:length(sampledata)
fprintf(fid,'%f\n',sampledata(i,:)); % 数値の書き出し
end
fclose(fid);

请先登录,再进行评论。

采纳的回答

交感神経優位なあかべぇ
writetableやwritecellなど、Encodingのパラメーターがある関数の場合は、Encodingを'Shift-JIS'に設定することで、Shift-JISでcsvを生成できます。
  1 个评论
k-inoue
k-inoue 2022-7-26
ご回答ありがとうございます。
参考にさせて頂きます。

请先登录,再进行评论。

更多回答(0 个)

产品


版本

R2022a

Community Treasure Hunt

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

Start Hunting!