私は一緒に追加して新しいファイルに入れる必要があるファイル名がたくさんあります。最初の列は日付です。日付があるファイルから別のファイルに重複している場合は、私が既に持っているものを置き換えるために追加する次のファイルが必要です。たとえば、最初のファイルのようなものである場合:特定の行を置換し、CSVファイルの残りをPythonで追加する
1/5/2010 'hello'
1/6/2010 'goodbye'
1/7/2010 'yes'
と第二のファイルは以下のとおりです。
1/7/2010 'No'
1/8/2010 "spam'
1/9/2010 'today'
私は私の新しいファイルは次のようになりたい:今
1/5/2010 'hello'
1/6/2010 'goodbye'
1/7/2010 'No'
1/8/2010 'spam'
1/9/2010 'today'
私はこのようなことをしようとしていますが、正しい結果を得ていません。
for row in reader2:
for row2 in reader:
if row == row2:
target = open('newfile2.csv', 'wb')
writer = csv.writer(target)
writer.writerow(row)
target.close()
else:
target = open('newfile2.csv', 'ab')
writer = csv.writer(target)
writer.writerow(row)
target.close()
任意のアイデアを大幅に理解されるであろう(リーダ2及びリーダはnewfile2.csvは既にファイル1の内容を有し、それぞれ第二のファイルと最初のファイルを参照します)。おかげで さて、私はいくつかのコメントを読んだ後で明確にすべきだと思います。順序は重要です。このコードの最後で、私は毎年1日のデータを整理して欲しいと思います。良いニュースは、データが既にファイル内に整列していることです。重複がいくつかあります。
複数の複製があります。たとえば、私が実際に扱っている最初のファイルは3月9日まで、2月の終わりには止めたいと思っています。 2番目のファイルからすべての3月のデータが必要です。
また、実際のファイルでは1日の1時間も行の一部であるため、約1500以上の行があります。
私は何が必要なのかを明確にしたいと思います。
私は上に掲載したコードのように思えますが、各行の最初の列のみをチェックします(日付は重複しているため)。今は全行をチェックしていますが、日付は重複していますが、行全体は一意です。
ああ、最後の1つです。私はすべての重複を排除したい。
これは、行の順序をまったく維持しません。また、ファイルの終わりにつながるものだけでなく、すべての重複を排除します。 @ agf、右。 – agf
この点はあなたの質問にはっきりと記載されていませんでした。最後の最初の行だけ? – joaquin
私の質問ではありませんでした。ちょうどそれが、特に注文に関連して、彼が望んでいたことがはっきりしていないと言っていました。 – agf