こんにちは私は新しいですし、Pythonを学ぶと私はこの質問で私のリーグから少しだと感じる。私はどのように対処するためのアドバイスを探しています。Python CSVファイルforループと日付比較
メインのcsvファイルmain.csvには多くのフィールドが含まれていますが、重要な4つのID、名前、日付、ステータスが重要です。明確にするために、名前とIDフィールドは一意ではありません。同じものが複数の行に表示されます。
私は、メインファイルを通過し、名前とIDで結果を突き止めるためにforループを使用しようとしています。そして、それぞれのユニークなケースで、日付を比較し、将来最も遠いものを選びたいと思います。
私はこれを遠くに持っていて、今私は苦労しています。以下は私のスクリプトと出力は、これまで
スクリプトです
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フィールドはユニークで、それらの日付をすべて比較し、将来最も遠い日付と日付をそれぞれ返し、ファイルに出力します。
誰でも手助けできますか?
ファイルにチャールズがある場合はどうなりますか? – Goyo
Nameリストは事前に入力されているので、出力内の唯一の名前は既にそのリストで定義されている名前になります。私はちょうど今テスト中ですが、最終的に26ishのユニークな名前があります – Anthony