嘿,夥計們,我是新來的,學習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