我已经在python中编写了一个程序,其中我使用了一个散列表来读取文件中的数据,然后将数据添加到文件的最后一列中文件第二列中的值。例如,对于列2中具有相同值的所有条目,将添加相应的最后列值。同时对散列表和打印键和值进行排序
现在我已经成功实现了上述功能。现在我想根据最后一列值以降序对表格进行排序,并打印这些值和相应的第二列(键)值。我无法弄清楚如何做到这一点。任何人都可以帮忙吗?
PMT txt文件的形式
0.418705 2 3 1985 20 0
0.420657 4 5 119 3849 5
0.430000 2 3 1985 20 500
等等...
因此,例如,对于在第2列号2,我已加入的对应于最后一列的所有数据所有数字'2'在第二列。所以,这个过程将持续在列下一组数字说谎4,5,等2
我使用python 3
import math
source_ip = {}
f = open("pmt.txt","r",1)
lines = f.readlines()
for line in lines:
s_ip = line.split()[1]
bit_rate = int(line.split()[-1]) + 40
if s_ip in source_ip.keys():
source_ip[s_ip] = source_ip[s_ip] + bit_rate
print (source_ip[s_ip])
else:
source_ip[s_ip] = bit_rate
f.close()
for k in source_ip.keys():
print(str(k)+": "+str(source_ip[k]))
print ("-----------")
请提供一个'pmt.txt'内容的简单示例。这样做可能比您实施的方法好得多,但只有我们能够做到这一点,而无需看到示例输入。还请说明是否正在使用Python 2或3 –
PMT txt文件的形式是 0.418705 2 3 1985 20 0 0.420657 4 5 119 3849 5 0.430000 2 3 1985 20 500 等等... 因此,例如,对于列2中的数字2,我添加了第二列中对应于所有数字“2”的最后一列的所有数据。所以,这个过程将继续为第2列的下一组数字lie 4,5等。 我正在使用python 3 – user3547134
请问您是否将此问题编辑为您的问题,格式正确? (每行有4个空格,用于等宽和灰色背景。) –