好的,在尝试自学最好的方法是什么之后,我已经搜索了这个特定的答案。我是 python 新手,希望有人知道一种快速的方法来帮助我!以下是输入数据文件的示例:
Lat,Long,Var,Id,日期时间
47.022,-104.330,10,MBVR,12/12/20 06:36:00
47.022,-104.330,11,MBVR,12/12/20 06:26:00
48.810, -104.253,10,MCOM,12/12/20 06:41:00
48.810,-104.253,13,MCOM,12/12/20 06:38:00
48.810,-104.253,12,MCOM,12/12/20 06:48:00
47.022,-104.330,11,MBVR,12/12/20 05:17:00
47.022,-104.330,10,MBVR,12/12/20 05:34:00
47.022,-104.330,12, MBVR,12/12/20 05:24:00
该文件可以有许多不同的 id,这只是一个示例。我让程序停止摄取数据并将其分离出来,并编写一个输出文件。这是我的代码的一部分:
csv_max = 'X:\\csv\\lsrwnd.dat'
my_file = open(csv_max, "rb")
rowadd = my_file.next()
for line in my_file:
items = line.split(",")
coords = items[0:2]
wind = items[2]
station = items[3]
timestamp = items[4]
所以这是我的问题。我需要做的是创建一个只有“id”列的最大值的输出文件。因此,如果重复“站”,我需要程序运行该站的每次出现,找到最大“id”,并且只返回每个相应“站”的“id”最大值行。从上面的数据示例中,我想要的是:
48.810,-104.253,13,MCOM,12/12/20 06:38:00
47.022,-104.330,12,MBVR,12/12/20 05:24:00
其余的可以倾倒。对于 MCOM,最大 id 为 13,对于 MBVR,最大值为 12。因此,如果有 50 个不同的站点,我只需要返回 50 条线路,返回的 50 条线路中的每条线路都是该站点的最大“id”。我可以创建输出文件,但是如何获取每个站的最大 id 数据以及其他元素?我尝试使用字典,但我无法弄清楚如何返回整行而不是仅返回最大值键和站名。“日期时间”变量并不重要(就需要最近或第一次出现而言)。预先感谢您的帮助!