2016-12-01 10 views
0

私は私のアイデアは、正規表現を使用していたPythonコードに関しては、この形式の異なるファイルを読み込む方法は?

9 0.0351562 0.0713449 -11.4664 -25.9366 -27.955 4 2.38188 
10 0.0390625 0.0507383 -12.9466 -30.2437 -29.1045 4 0.616179 
11 0.0429688 0.0629145 -12.0125 -37.1503 -32.2795 4 0.569045 
12 0.046875 0.046937 -13.2848 -31.9606 -32.5367 4 0.128286 
13 0.0507812 0.0541174 -12.6666 -30.7398 -27.4705 4 1.38345 

のような形式のファイルを持っています。

for line in s.splitlines(): 
    lst = [i.strip() for j in re.findall(regex, line) for i in j if j] 
    print(lst) 

正規表現はどのように見えますか?

ファイルを書いたCコードの行:

fprintf(inf, "%d %g %g %g %g %g %g %g\n", i,frq1, 
     spec[i],dbspec, naive_spec[i], dtemp[i], 
     dof[i], Fvalues[i]); 

私はラインで8つの変数、1つの整数とPythonの構文で7倍を持っています。

答えて

2
with open('path/to/file') as infile: 
    for line in infie: 
     nums = [float(i) for i in line.split()] 
     # do stuff with nums 
1

値はすべて空白で区切られているので、正規表現は使用しません。 split()文字列メソッドを使用する方法は次のとおりです。

kinds = [int] + [float]*7 # types expected 
with open('uneven.txt') as file: 
    for line in file: 
     row = map(lambda v: v[0](v[1]), zip(kinds, line.split())) 
     print(row) 
関連する問題