嘿,伙计们,我是新来的,学习python,我觉得我有点不同意这个问题。我正在寻找如何处理的建议。Python CSV文件For循环和日期比较
我有一个主要的csv文件main.csv包含许多字段,但四个重要的是ID,名称,日期和状态。为了澄清,名称和ID字段不是唯一的。相同的将出现在多行上。
我正在尝试使用for循环来查看主文件,并通过名称和ID分析结果,并且在每个独特的情况下,我想比较日期并选择未来最远的日期。
我得到了这个,现在我很挣扎。下面是我的脚本和输出至今
脚本
import csv
s=open('combined.csv')
mainfile = csv.reader(s)
id = ['1','4']
Name = ['Anthony', 'Bob']
Status = ['New', 'Old']
for r in mainfile:
for m in Name:
for t in id:
if r[10] in (None, ""):
pass
elif r[3] == m:
if r[5] == t:
print (r[3], r[5], r[6], r[11])
输出例如:
('Anthony', '1', '10', '4/3/2017')
('Anthony', '1', '11', '5/2/2017')
('Anthony', '1', '13', '12/30/2017'
('Anthony', '1', '15', '8/20/2017')
('Anthony', '4', '17', '2/3/2018')
('Anthony', '4', '18', '3/28/2017')
('Bob', '1', '111', '4/3/2017')
('Bob', '1', '200', '5/2/2017')
('Bob', '1', '113', '12/30/2017')
('Bob', '1', '115', '8/20/2017')
('Bob', '4', '117', '2/3/2018')
('Bob', '4', '118', '3/28/2017')
我就要挂了,因为我不想看的地方名称和ID字段是唯一的,并将所有这些日期进行比较,并在将来每打印一份文件时,返回将来最远的日期。
任何人都可以帮忙吗?
如果文件中有Charles,该怎么办? – Goyo
名称列表将在之前填充,因此输出中的唯一名称将是我已经在该列表中定义的名称。我只是现在测试,但最终会有26个唯一的名称 – Anthony