0

テキスト ファイルの複数行から最初の 10 文字だけを取得しようとしています。これは私の行がどのように見えるかです:

Mon-000101,100.27242,9.608597,11.082,10.034,0.39,I,0.39,I,31.1,31.1,,double with 1355,,,,,,,,
Mon-000171,100.2923,9.52286,14.834,14.385,0.45,I,0.45,I,33.7,33.7,,,,,,,,,,
Mon-000174,100.27621,9.563802,11.605,10.134,0.95,I,1.29,I,30.8,30.8,,,,,,,,,,
Mon-000191,100.28709,9.495832,9.231,8.105,1,I,1.01,I,0,0,,on spike,,,,,,,,

Mon-000101それぞれの行の一部のみが必要です。私は通常、次のようなことをすることを知っています:

line[0:10]

出来上がり、私はそれを持っているでしょう。しかし、ファイル全体でこれを実行しようとしていますが、最初の結果しか得られません。

これは私がうまくいくと思った小さなコードです:

f = raw_input("Enter the path and filename of the file: ")
f1 = open(f)
for line in f1:
    print line

しかし、それはスライスされた最初の行(正しくスライスされたもの)しか提供していません。これはすべての行で実行できますか?

新しい情報: 私のテキスト ファイルは、最初の ID のみを出力する理由を説明する 1 行の長い行にすぎないようです。ID ( ) のみを抽出する方法を理解するのに助けが必要Mon-######です。

助けてくれてありがとう。

4

2 に答える 2

1
In [47]: %paste
with open('blah') as infile:
  line = []
  for char in itertools.chain.from_iterable(infile):
    if line.count(',') < 20:
      line.append(char)
    else:
      print ''.join(line[:10])
      line = [char]

## -- End pasted text --
Mon-000101
Mon-000171

Mon-00017
Mon-000191
于 2013-10-30T06:51:19.343 に答える