0

.txt ファイルから Python スクリプトにデータを収集しようとしています。問題は、データが収集されたときに、列の 1 つでデータを収集できなかったため、通常よりも多くのコンマが表示されたことです。次のようになります: 0,0,,-2235 1,100,,-2209 2,200,,-2209

私が望むのは、データをロードしてコンマを削除することだけですが、numpy.loadtxt を試してみると値エラーが発生します。私は何をしますか?

4

3 に答える 3

0

これがオプションかどうかはわかりませんが、を使用して前処理できますtr -s ',' file.txt。これはシェル コマンドなので、python を呼び出す前、または を使用する前に実行する必要がありますsystem。後者は、dragon2fly が python 関数を使用して問題を解決したため、最善の方法ではない可能性があります。

于 2015-01-15T10:53:58.230 に答える
0

正規表現モジュールを使用して分割できます

In[1]: import re
In[2]: re.split(',,|,', '0,0,,-2235 1,100,,-2209 2,200,,-2209')
Out[2]: ['0', '0', '-2235 1', '100', '-2209 2', '200', '-2209']

',,|,'は、最初に で分割さ,,れ、結果として で分割され続けることを意味し,ます。

-2235なので、手に入れたい場合は1代わりに-2235 1使っ',,|,| 'たり',,|,|\s'目を楽にする(\s手段space)。

于 2015-01-15T10:51:53.477 に答える