次のような csv ファイルがあります。
gindex
1
1
2
2
3
3
7
7
各要素を誤って 2 回印刷しました。繰り返される各行を削除して、次の結果を得るにはどうすればよいですか。
gindex
1
2
3
7
次のような csv ファイルがあります。
gindex
1
1
2
2
3
3
7
7
各要素を誤って 2 回印刷しました。繰り返される各行を削除して、次の結果を得るにはどうすればよいですか。
gindex
1
2
3
7
派手な csv 処理は必要ありません。実際に 2 行おきに無視したい場合は、次のようにします。
with open("csv") as f:
for i, line in enumerate(f):
if i % 2 == 0:
print(line)
ファイルを配列に読み込んで 1 行おきにスキップし、それを書き出すことができます (今回は正しく!) 元のファイルを上書きします。ファイルが大きすぎてメモリに保存できない場合は、元のファイルを一時ファイルに読み込んだときに修正したバージョンを書き出してから、それを移動/コピーして元のファイルを上書きします。