2017-09-22 28 views
1

私は100mb以上のサイズと多くのファイル数のデータセットを持っています。これらのファイルには、20以上の列と100万以上の行があります。csvから重複した行を削除する[ヘッダ+コンテンツ]

データの主な問題がある:

  1. ヘッダ反復される - 重複ヘッダ行を、その特定の行のすべての列から完全即ちデータに
  2. 重複行が重複しています。

どの列や列数について気にすることなく、最初の発生を維持してから残りを削除するだけです。

私はあまりにも多くの例を見つけましたが、私が探しているものは、入力と出力の両方が同じファイルである必要があります。助けを求める唯一の理由は、同じファイルを編集したいのです。

サンプル入力:ここ https://www.dropbox.com/s/sl7y5zm0ppqfjn6/sample_duplicate.csv?dl=0

事前に助けのおかげに感謝..

+0

で入力ファイルを上書きすることができ、E。同様に、最初の行を保存し、連続する各行をループし、最初の行と異なる場合は新しい配列に追加することもできます。 – OptimusCrime

+0

@OptimusCrime実際には既にダウンロードされているWebスクレープデータです。いくつかのループと条件を歌います。そして、新しいヘッダが生成されます。私はダウンロード側から修正しようとしました。重複を取り除き、同じファイルを更新する別のプログラムを書きます。 –

+0

私はまだ問題が表示されません。同じヘッダをループしてチェックします。同じ線や行をループしてチェックすることもできます。 Google検索では、Pythonを使用してファイル内の重複した行を検索して削除するために100万の結果が返されます。 – OptimusCrime

答えて

1

重複ヘッダの数が知られており、一定である場合は、それらの行をスキップ:

csv = pd.read_csv('https://www.dropbox.com/s/sl7y5zm0ppqfjn6/sample_duplicate.csv?dl=1', skiprows=4)

をまた、すべての列に基づいてすべての重複を削除するという特典がある場合は、

csv = pd.read_csv('https://www.dropbox.com/s/sl7y5zm0ppqfjn6/sample_duplicate.csv?dl=1') csv = csv.drop_duplicates()

今、あなたはまだそれをスキップし、データのヘッダ行を持っている: csv = csv.iloc[1:]

ヘッダーが繰り返された場合あなたは確かに、その後pandas.DataFrame.to_csv

+0

解決していただきありがとうございます。しかし、ヘッダーが繰り返されるだけでなく、途中でどこか1行と他の場所2〜3のどこかにも見られます。 –

+0

それがあなたのために働く場合、受け入れられた解決策として印をつけてください。ありがとう! – TomTom101

+0

それは私の場合ではありませんでした..しかし確かに他の状況では役に立つはずです..もう一度ありがとうございます.. –

関連する問題