2017-02-15 18 views
0

我需要添加一個csv文件的總和。該計劃是爲旅行預訂系統的測試和文件內容是這樣的:試圖在python中添加csv文件的總和

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

我需要從現有的開始整數減去保留,然後重新添加取消(在這種情況下會導致爲0),然後打印輸出,在這種情況下輸出結果爲18. 到目前爲止,我已打開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文件的一種方法是使用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