如何从for循环中对csv文件中的项进行求和

时间:2015-05-07 02:16:36

标签: python loops csv sum

我被困住了。我的脚本询问用户想要输入多少csv文件以及输入的字段。在这种情况下,假设两个csv文件,每个文件都有一个区域值。我试图用for循环来总结这两个项目,所以我可以尝试编写一个计算平均值的函数。有时间我运行它虽然我得到一个错误说“+不支持操作数类型+:int和str。我遇到了一堵砖墙。任何帮助赞赏

import csv
Mysum = 0
input_attribute = input("Enter attribute for comparison (lowercase) :")
input_SetNum = input("How many data sets are you comparing: ")
print ("You entered " + input_SetNum) 

data_sets = {}
for i in range(1, int(input_SetNum)+1):
  with open(input("Please enter the file name with .csv: ")) as csvfile:
      reader = csv.DictReader(csvfile)
      for row in reader:
      data_sets[i] = (row[input_attribute])
      print (data_sets[i])


Mysum = sum(data_sets[i])
print(Mysum)

1 个答案:

答案 0 :(得分:0)

当您从CSV文件中读取数字时,它会以字符串形式读取,除非您执行以下操作:

$(selector).collapse('hide'/'show');

这让我咬了几次。

答案是将reader = csv.DictReader(csvfile, quoting=csv.QUOTE_NONNUMERIC) 创建为reader,或者使用csv.QUOTE_NONNUMERIC明确地从str转换为int。如果没有看到数据文件的实际样本以查看它们的格式,很难说哪条路线更好。

此外,请注意您仍然遇到一些格式问题,例如您之前的问题迭代:

int()