MATLAB Answers

0

UTF-8 でエンコードされたcsvファイルが読めない

Asked by Y.Suzuki on 9 Aug 2018
Latest activity Commented on by Hirokazu Tanaka on 9 Aug 2018
readtable('A.csv','Encording','UTF-8'); では、うまくエンコードできず、文字化けしてしまいます。何がいけないのでしょうか。 また数値の列とそうではない列がある場合、readtableコマンドを利用するという認識があるのですが、もし別のコマンドでも可能でしたら、教えていただけないでしょうか。

  2 Comments

Hirokazu Tanaka on 9 Aug 2018
A.csv かうまく読み込めないサンプルファイルを添付してもらえると原因を見つけやすいかと思います。
Y.Suzuki on 9 Aug 2018
ありがとうございます。データそのものは社外秘でして、またサンプルデータを作成したいのですが、うまく作れない状況です。要素的には、数値と日時と半角カタカナが混じったものになります。readtableにはEncordingは使えない旨のエラーが出ています。

Sign in to comment.

Products


Release

R2018a

1 Answer

Answer by Hirokazu Tanaka on 9 Aug 2018
 Accepted Answer

UTF-8 でエンコードしたサンプルファイル作ってみました。(添付) 'Encoding','UTF-8'の設定で読み込めています。 表示されているというエラーメッセージが何らかのヒントになるかも・・しれませんので教えてください。
>> a = readtable('sampleData.txt')
a =
2×3 table
Var1 Var2 Var3
__________ ____ _____
2.0181e+07 'ア' '縺'
2.0181e+07 'イ' '縺'
>> a = readtable('sampleData.txt','Encoding','UTF-8')
a =
2×3 table
Var1 Var2 Var3
__________ ____ ____
2.0181e+07 'ア' 'あ'
2.0181e+07 'イ' 'い'

  4 Comments

Show 1 older comment
Hirokazu Tanaka on 9 Aug 2018
添付の sampleData.txt の読み込みはどうですか?
使用している MATLAB バージョンが影響しているかもしれません。こちらは R2018a, Windows 10で試していますが detectImportOptions 実行時に 'Encoding','UTF-8' としていしても正しく実行できています。
Y.Suzuki on 9 Aug 2018
ありがとうございます。
Var1 Var2 Var3
________ ____ ____
20180809 'ア' 'あ'
20180810 'イ' 'い'
できました。
このファイルでは、うまくいきそうです。
私のファイルを模擬したファイルを作る必要がありそうです。
ちなみに、私のMATLAB構成は、
>> ver ---------------------------------------- MATLAB バージョン: 9.3.0.713579 (R2017b) オペレーティング システム: Microsoft Windows 10 Pro Version 10.0 (Build 16299) Java バージョン: Java 1.8.0_121-b13 with Oracle Corporation Java HotSpot™ 64-Bit Server VM mixed mode ------------------------------------- です。
Hirokazu Tanaka on 9 Aug 2018
あ。すいません、見逃していましたが、'Encoding' でなく 'Encording' と打ち間違えていませんか?

Sign in to comment.