2016-09-26 9 views
-2

を使用して、テキストファイルから値を取得します。私はこのように編成テキストファイル内のいくつかのデータを持っているのPython

26.11.2014 154601 26  53.07 
16.12.2014 155001 25.2 52.1 

最初の列は、日付、第二キロリットルで第三の燃料を最後にどこにするズウォティでコストです。私は給油統計で私の個人的なプログラムを作成しようとしています。ここで私は、テキストファイルに新しいデータを保存するコードは次のとおりです。

def add_petrol_refueling(date, km, petrol_cost, petrol_volume): 

    plik = open('paliwo/benzyna.txt', 'a') 
    plik.write(date + '\t' + km + '\t' + petrol_cost + '\t' + petrol_volume) 
    plik.write('\n') 
    plik.close() 

    return True 

私が使用して、ユーザからのデータ取得:

print add_petrol_refueling(raw_input("Refueling date [dd:mm:rrrr]: "), 
        raw_input("Kilometers on car screen [km]: "), 
        raw_input("Refueling cost [zł]: "), 
        raw_input("Refueling volume [l]: ")) 

をそして、私の質問は、テキストファイルからデータを取得するための最良の選択肢である方法でありますそれを使っていくつかの操作をして、平均燃料消費量、平均費用、次の給油などを想定できる統計情報を後で表示する。

+1

Excelでホワイトスペースの形式で開くことができますparated CSVファイル。 –

答えて

0

次の方法は、テキストファイルからデータを取得し直すのに役立ちます。まず、benzyna.txtファイルの各行を読み込み、末尾の改行を削除し、\tに基づいて分割します。これにより、dataリストが作成され、2行にそれぞれ4つの文字列が含まれます。次のそれはあなたがそれらにあなたの計算を実行することができますので、山車の中に文字列から最後の3つのエントリが各行を通過し、変換します

with open('benzyna.txt') as f_input: 
    data = [row.strip().split('\t') for row in f_input] 
    data = [[rdate, float(km), float(petrol_cost), float(petrol_vol)] for rdate, km, petrol_cost, petrol_vol in data] 

print data 

これは、表示していました:


[['26.11.2014', 154601.0, 26.0, 53.07], ['16.12.2014', 155001.0, 25.2, 52.1]] 
また、次のアプローチを使用すると、同じ結果が得られます。

data = [] 

with open('benzyna.txt') as f_input: 
    for row in f_input: 
     rdate, km, petrol_cost, petrol_vol = row.strip().split('\t') 
     data.append([rdate, float(km), float(petrol_cost), float(petrol_vol)]) 

print data 
関連する問題