2017-02-15 2 views
0

csvファイルの合計を追加する必要があります。プログラムは、旅行予約システムのためのテストで、ファイルは次のように読み取りますPythonでcsvファイルから合計を追加しようとしています

availableSTART,reservations,cancellations,availableEND 
20,1,0,18 

私は、その後、利用可能開始整数から予約を引く(この場合は0にその結果を)キャンセルを再度追加する必要があり、その後、この場合、結果は18になります。 これまでのところ、CSVファイルを開いてその内容を印刷しました。 ここまでは私のコードです。どんな助けもありがとう! CSVファイルを読み込むための

import csv 

with open ('transactions.csv') as csvfile: 
    readCSV = csv.reader(csvfile, delimiter=',') 
    print (readCSV) 

    for row in readCSV: 
     print(row) 
+0

それは19私の悪いことになります。 –

答えて

0

一つの方法は、csv.DictReaderを使用しています。

このオブジェクトは、CSVファイルを繰り返し処理して、列名であり値が行値である辞書を返すことができます。 しかし、あなたは整数に文字列値を変換する必要があります。

>>> import io 
>>> import csv 

>>> with io.open('transactions.csv') as csvfile: 
...  reader = csv.DictReader(csvfile) 
...  for row in reader: 
...   values = {k: int(v) for k, v in row.items()} 
...   print(values) 
... 
{'availableEND': 18, 'reservations': 1, 'availableSTART': 20, 'cancellations': 0} 

次に、あなたがあなたの合計を作ることができます...

>>> with io.open('transactions.csv') as csvfile: 
...  reader = csv.DictReader(csvfile) 
...  for row in reader: 
...   values = {k: int(v) for k, v in row.items()} 
...   sums = values['availableSTART'] + values['cancellations'] - values['reservations'] 
...   print(sums) 
19 
関連する問題