我有一个csv文件,我试图找到2列之间的总和。 csv文件看起来像这个
我希望找到每行的行[2]和行[3]之间的差异,然后将其添加到总和中。我的代码看起来像这样:
senti_results = 0
concept_results = 0
for row in inputTweets:
senti_results = senti_results + float((row[2]) - (row[3]))
concept_results = concept_results + float((row[2]) -(row[5]))
但我有以下错误
File "C:/Users/nelli_000/PycharmProjects/finaltest/results.py", line 15, in <module>
senti_results = senti_results + float((row[2]) - (row[3]))
TypeError: unsupported operand type(s) for -: 'str' and 'str'
谁能帮助我吗?提前谢谢!!!
答案 0 :(得分:2)
您尝试减去两个字符串,然后将其转换为浮点数,首先尝试将字符串转换为浮点数。像这样:
变化
float((row[2])-(row[3]))
到
float(row[2])-float(row[3])
答案 1 :(得分:1)
使用pandas。
import pandas
csvfile = pandas.read_csv('path/to/csv/file')
result = csvfile['row_x'] + csvfile['row_y']
其中 row_x 和 row_y 是要汇总的列的标题。您可能必须使用pandas.read_csv()中的 dtype 参数设置数据类型。
来源:http://pandas.pydata.org/pandas-docs/stable/generated/pandas.read_csv.html
答案 2 :(得分:0)
你错过了[3]&amp;行的浮动函数行[5]
senti_results = 0
concept_results = 0
for row in inputTweets:
senti_results = senti_results + float((row[2]) - float(row[3]))
concept_results = concept_results + float((row[2]) -float(row[5]))