我有一个数据文件,例如:
1 123 something else
2 234 something else
3 500 something else
.
.
.
1 891 something else
2 234 something else
3 567 something else
.
.
.
我试图最终得到一个文件:
1 1014
2 468
3 1067
也就是说,如果第 1 列中的数字相同,则将第 2 列(或其他列)中的数字相加。我相信将列读入嵌套列表并从那里开始是可行的方法,但我一直在努力解决这个问题。我尝试的另一种方法是使用我感兴趣的条目创建一个新文件:
for next in f.readlines():
output.write(next[0:1] + "," + next[3:6]+ "\n")
if not next:
break
with open(output,"r") as file:
data_list=[[int(x) for x in line.split(",")] for line in file]
print data_list
这返回
[[1, 123], [2, 234], [3, 500], [1, 891], [2, 234], [3, 567]]
我想我可以循环遍历该列表并比较 data_list[x][0] 并添加值(如果它们匹配),但这似乎不是一个优雅的解决方案。
谁能建议一种更优雅的方法来做到这一点?
特别是,我一直在努力对最终得到的嵌套列表中的特定项目进行求和。