2017-02-15 41 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