我被困住了。我的脚本询问用户想要输入多少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)
答案 0 :(得分:0)
当您从CSV文件中读取数字时,它会以字符串形式读取,除非您执行以下操作:
$(selector).collapse('hide'/'show');
这让我咬了几次。
答案是将reader = csv.DictReader(csvfile, quoting=csv.QUOTE_NONNUMERIC)
创建为reader
,或者使用csv.QUOTE_NONNUMERIC
明确地从str
转换为int
。如果没有看到数据文件的实际样本以查看它们的格式,很难说哪条路线更好。
此外,请注意您仍然遇到一些格式问题,例如您之前的问题迭代:
int()