より大きな.txt
ファイルから1つのテーブルをPythonに読み込もうとしています。pandas.read_csvを使用して列を区切る
データの抽出物がある:
2 Network magnitudes:
MLv 2.05 +/- 1.34 7
M 2.05 7 preferred
7 Phase arrivals:
sta net dist azi phase time res wt sta
BMOR EC 0.0 226 P 00:22:31.385 -0.6 M 1.0 BMOR
BREF EC 0.0 347 P 00:22:31.543 -0.5 M 1.0 BREF
BTAM EC 0.0 58 P 00:22:31.796 -0.3 M 1.0 BTAM
BVC2 EC 0.0 26 P 00:22:33.061 0.8 M 1.0 BVC2
BNAS EC 0.1 294 P 00:22:32.871 -0.1 M 1.0 BNAS
SUCR EC 0.1 314 P 00:22:34.610 0.6 M 1.0 SUCR
BRRN EC 0.1 207 P 00:22:34.768 0.4 M 1.0 BRRN
7 Station magnitudes:
sta net dist azi type value res amp per
BMOR EC 0.0 226 MLv 1.48 -0.57 1.20076
私は(数値と文字列を扱うことができない/しない限りbugが含まれている様々な理由のために短いの両方の秋位相到着テーブルをしたいので、np.loadtext
とnp.genfromtxt
私はpandas.read_csv
fucntionにしようとしてきた
私は)ここで行うことはできません一つだけのスペース(」「)区切り文字を指定しますが、区切り文字
に認識されていませんは生成します。
彼らはそれぞれ1つの文字列だとそれが空白区切り文字に注意を払っていないことから離れてよさそうだa
Out[90]:
sta net dist azi phase time res wt sta
0 BMOR EC 0.0 226 P 00:22:31.385 -0....
1 BREF EC 0.0 347 P 00:22:31.543 -0....
2 BTAM EC 0.0 58 P 00:22:31.796 -0....
3 BVC2 EC 0.0 26 P 00:22:33.061 0....
4 BNAS EC 0.1 294 P 00:22:32.871 -0....
5 SUCR EC 0.1 314 P 00:22:34.610 0....
6 BRRN EC 0.1 207 P 00:22:34.768 0....
:
a.values
Out[89]:
array([['BMOR EC 0.0 226 P 00:22:31.385 -0.6 M 1.0 BMOR'],
['BREF EC 0.0 347 P 00:22:31.543 -0.5 M 1.0 BREF'],
['BTAM EC 0.0 58 P 00:22:31.796 -0.3 M 1.0 BTAM'],
['BVC2 EC 0.0 26 P 00:22:33.061 0.8 M 1.0 BVC2'],
['BNAS EC 0.1 294 P 00:22:32.871 -0.1 M 1.0 BNAS'],
['SUCR EC 0.1 314 P 00:22:34.610 0.6 M 1.0 SUCR'],
['BRRN EC 0.1 207 P 00:22:34.768 0.4 M 1.0 BRRN']], dtype=object)
行はして分離することができ、 list(a.values[0])[0].split()
ですが、個々の列を取得するためにこれが再編成されます。私はpandas.read_csv
が分かれていると認識していますので、個々の列を抽出することができます(スケールアップすると効率的になることが重要になります)
どこが間違っていますか?
\s+
、ない\+s
delim_whitespace
パラメータ見出しの下に、the documentationにタイプミスから来た:
これを誤植( '\ s +'ではなく '\ + s')にするか、[this](http://stackoverflow.com/questions/15026698)の複製として閉じるかはわかりません。/how-to-make-separator-in-read-csv-more-flexible-wrt-whitespace)を使用します。 – DSM
ちょっと@DSM - ありがとう!私はちょうどそれをテストしたし、あなたは正しい、それはタイプミスです。しかし、私はドキュメントから直接それを取った、typoはそこからです:http://pandas.pydata.org/pandas-docs/stable/generated/pandas.read_csv.html(delim_whitespaceパラメータの下) – mjp
あなたは正しいです!私はそれが固定されることを確認します。 :-) – DSM