2017-12-12 28 views
-1

1つのcsvファイルの行を繰り返し処理しています。処理済み行のいずれかと重複している場合は、その行を処理しないようにします。以下は重複を識別する - csv dict reader

は私のコードです:

import csv 
csv_contents = request.vars['file'].value.decode('utf-8') 
file = csv_contents.splitlines() 
file_data = [row for row in csv.DictReader(file)] 
for data in file_data: 
    #if duplicate, continue. skip the row 

行は、ファイル内の重複しているかどうかを識別する方法。

+0

DictReaderでcsvファイルを読むと、そのファイルが構造化されます。 *キー*がレコードにありますか、フルラインを比較する必要がありますか? –

+0

@SergeBallestaはフルラインを比較する必要があります。 –

答えて

0

リストから重複したエントリを削除するには、リストをセットに変換してリストに再度変換することができます。

import csv 
csv_contents = request.vars['file'].value.decode('utf-8') 
file = csv_contents.splitlines() 
# Duplicate entries are removing 
file_data = list(set([row for row in csv.DictReader(file)])) 

Serge Ballesta氏によれば、リストの順序はこの方法では保存されませんでした。

+1

ご注文の場合、あなたは失ってしまった... –

関連する問題