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

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

2 件のコメント

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

サインインしてコメントする。

 採用された回答

Hirokazu Tanaka
Hirokazu Tanaka 2018 年 8 月 9 日

1 投票

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 件のコメント

Y.Suzuki
Y.Suzuki 2018 年 8 月 9 日
ありがとうございます。
私の方では、
Var8 ________ 'EE1125'
となりまして、UTF-8を うまくデコードできていない様子です。
tanaka様との違いがよくわかりません。。
すみません。エラーの件は、readtableコマンドではなく、 detectImportOptions コマンドでした。。
ちなみに、
今、readtabelをあきらめて、detectImportOptions を試したところ、
エラー: detectImportOptions 'Encording' は認識されたパラメーターではありません。 名前と値の有効なペア引数のリスト は、detectImportOptionsのドキュメンテーションを参照してください。
エラー: detectImportOptions>getTypedParser/parsefcn (line 304) p.parse(args{:});
エラー: detectImportOptions>textArgs (line 336) args = parser(otherArgs);
エラー: detectImportOptions (line 230) args = textArgs(p.Unmatched);
エラー: wa034_40 (line 14) opts = detectImportOptions('A','Encording','UTF-8') やはり、うまくいきませんでした。。
Hirokazu Tanaka
Hirokazu Tanaka 2018 年 8 月 9 日
添付の sampleData.txt の読み込みはどうですか?
使用している MATLAB バージョンが影響しているかもしれません。こちらは R2018a, Windows 10で試していますが detectImportOptions 実行時に 'Encoding','UTF-8' としていしても正しく実行できています。
Y.Suzuki
Y.Suzuki 2018 年 8 月 9 日
ありがとうございます。
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
Hirokazu Tanaka 2018 年 8 月 9 日
あ。すいません、見逃していましたが、'Encoding' でなく 'Encording' と打ち間違えていませんか?

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File Exchangetable についてさらに検索

製品

リリース

R2018a

Community Treasure Hunt

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

Start Hunting!