.txt ファイルから Python スクリプトにデータを収集しようとしています。問題は、データが収集されたときに、列の 1 つでデータを収集できなかったため、通常よりも多くのコンマが表示されたことです。次のようになります: 0,0,,-2235 1,100,,-2209 2,200,,-2209
私が望むのは、データをロードしてコンマを削除することだけですが、numpy.loadtxt を試してみると値エラーが発生します。私は何をしますか?
.txt ファイルから Python スクリプトにデータを収集しようとしています。問題は、データが収集されたときに、列の 1 つでデータを収集できなかったため、通常よりも多くのコンマが表示されたことです。次のようになります: 0,0,,-2235 1,100,,-2209 2,200,,-2209
私が望むのは、データをロードしてコンマを削除することだけですが、numpy.loadtxt を試してみると値エラーが発生します。私は何をしますか?
これがオプションかどうかはわかりませんが、を使用して前処理できますtr -s ',' file.txt
。これはシェル コマンドなので、python を呼び出す前、または を使用する前に実行する必要がありますsystem
。後者は、dragon2fly が python 関数を使用して問題を解決したため、最善の方法ではない可能性があります。
正規表現モジュールを使用して分割できます
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
)。