2017-01-08 7 views
0

フレンド!! 私はMatlabコードをPythonに変換しようとしています。python parse json file from matlab

ファイルI/Oを扱うときに問題があります。

私はMatlab jsonライブラリJSONLabによって生成されたjsonファイルを解析しようとしています。この場合、JSONLabはUBJSON形式のバイナリ文字列を出力します(http://ubjson.orgを参照)

私はファイルを解析するためにPythonライブラリのjsonモジュールを使用しています。

私は以下のコードを実行すると:

with codecs.open('raw.isd','r',encoding='utf8',errors='ignore') as f: 
    recodes = [json.loads(line) for line in f] 

それは

json.decoder.JSONDecodeError: Expecting property name enclosed in double quotes: line 1 column 2 (char 1)

01を返します。それは私にエラー

UnicodeDecodeError: 'utf-8' codec can't decode byte 0x98 in position 171: invalid start byte

を与える

with open('raw.isd',encoding='utf-8') as f: 
    recodes = [json.loads(line) for line in f] 

をそれから私がしよう

このファイルはMatlab jsonライブラリでデコードできます。
https://pypi.python.org/pypi/py-ubjson
あなたの人生を少し楽にする:

あなたは、たとえば、ヘルパーのpythonパッケージをインストールしようとすることができ、あなたの助け

+0

あなたの投稿を編集して小さな「raw.isd」ファイルを表示できましたか? –

答えて

0

いただきありがとうございます。
py-ubjsonとPython用の別のパッケージがUBJSONのWebサイトに掲載されています。http://ubjson.org/libraries/