2017-10-24 21 views
-4

は、私はこのような複数の行が含まれている.txtファイルを得た:.txtファイルから複数の値を読み取る方法は?

Hour: 10:51:17, Date: 01/14/2017 -- I: 14.13A V: 178.73V P: 2524.84W 

どのように私は論文値のそれぞれ個別に読むことができますか?

私はすでに以下のコードを使用して、MATLABで同様の手順をしたしました:

test_file = fopen('example3.txt'); 
A = fscanf(test_file,'Hour: %d:%d:%d, Date: %d/%d/%d -- I: %fA V: %fV P: %fW\n',[9,inf]); 

data_file =A'; 
lines = size(A,2); 
date1 = data_file(:,7); 
date2 = data_file(:,8); 
date3 = data_file(:,9)/1000; 

私はPythonで同様の手順を行うことをだろうが、私は、これらの値を読むための方法を見つけることができません。私はもっ​​と説明しようとしました。

+2

あなたは何をしようとしているのかをさらに説明し、あなたの仕事を解決するためにこれまでにやったことを提供する必要があります。通常、これらの種類のタスクでは、行をいくつかの区切り文字でパラメータに分割し、各パラメータを処理します(たとえば、 'datetime'に変換する)。これらのパラメータはすべてどのようなものであり、それらをグラフでどのように表現しようとしていますか?グラフタイプ(グラフ)(https://en.wikipedia.org/wiki/Chart)や[グラフ](https://en.wikipedia.org/wiki/Graph_(discrete_mathematics))データ構造(辺、頂点など)? –

+0

私は実際にはPythonプログラミングの新機能です。私はすでにこのコードを使ってMATLABでこれを行っています: test_file = fopen( 'example3.txt'); %f:%d:%d:%d:%d:%d:%d:%d:%d:%d:%d:%f:%f:%f: 、inf]); data_file = A '; lines = size(A、2); date1 = data_file(:、7); date2 = data_file(:、8); date3 = data_file(:、9)/ 1000; 私はPythonで同様の手順を実行しますが、これらの値を読み取る方法が見つかりません。 私はもっと説明しようとしました。ありがとうございました! –

+2

Pythonの初心者でも大丈夫ですが、Stackoverflowの質問には、あなた自身の試みが含まれています。 https://stackoverflow.com/help/asking質問を編集して詳細情報を追加する –

答えて

1

正規表現を使用します。

import re 

s='Hour: 10:51:17, Date: 01/14/2017 -- I: 14.13A V: 178.73V P: 2524.84W' 
m=re.match('Hour: (.+), Date: (.+) -- I: (.+)A V: (.+)V P: (.+)W', s) 

list(m.groups()) 

-> ['10:51:17', '01/14/2017', '14.13', '178.73', '2524.84'] 
+1

名前を付けられたグループはおそらく良いアイデアだろう –

関連する問題