2016-05-03 20 views
0

int型と浮動小数点の真ん中に文字データが詰まったバイナリファイルがあります。私はnumpyで読もうとしています。numpyでバイナリファイルからcharデータを読み取る

3つの質問(はい、それは73文字の文字列です。)

strbits = np.fromfile(infile,dtype='int8',count=73)

::私は、文字データについて取得することができた最も遠い私のデータは現在、破損または切り捨てずに保存されていますstrbitsで?そして、strbitsを読み込み可能な文字列に変換できますか?最後に、私はこれを全く別のやり方でやるべきでしょうか?

更新: ここには機能するものがありますが、もっとエレガントな方法があると思います。

strarr = np.zeros(73,dtype='c') 
for n in range(73): 
    strarr[n] = np.fromfile(infile,dtype='c',count=1)[0] 

ここで、各要素が入力ファイルの1文字である配列があります。

答えて

2

あなたがやっている方法は問題ありません。これを文字列に変換する方法は次のとおりです。

strbits = np.fromfile(infile, dtype=np.int8, count=73) 
a_string = ''.join([chr(item) for item in strbits]) 
+0

ありがとうございます! –

関連する問題