2016-09-28 4 views
0

私は2つのcsvファイルresult.csvとsample.csvを持っています。追加の代わりにPythonの書き換え

result.csv

M11251TH1230 
M11543TH4292 
M11435TDS144 

sample.csv

M11435TDS144,STB#1,Router#1 
M11543TH4292,STB#2,Router#1 
M11509TD9937,STB#3,Router#1 
M11543TH4258,STB#4,Router#1 

私はresult.csvの行は、行の最初の単語ではと一致した場合、両方のファイルを比較しますPythonスクリプトを持っていますsample.csv、1を追加し、sample.csvのすべての行に0を追加します。

M11543TH4258 is not fo result.csv

script.py

import csv 
with open('result.csv', 'rb') as f: 
    reader = csv.reader(f) 
    result_list = [] 
    for row in reader: 
     result_list.extend(row) 


with open('sample.csv', 'rb') as f: 
    reader = csv.reader(f) 
    sample_list = [] 
    for row in reader: 
     if row[0] in result_list: 
      sample_list.append(row + [1]) 
     else: 
      sample_list.append(row + [0]) 

with open('sample.csv', 'wb') as f: 
    writer = csv.writer(f) 
    writer.writerows(sample_list) 

サンプル出力(sample.csv)私は、スクリプトを実行する場合は2回

M11435TDS144,STB#1,Router#1,1,1 
M11543TH4292,STB#2,Router#1,1,1 
M11509TD9937,STB#3,Router#1,0,0 
M11543TH4258,STB#4,Router#1,0,0 

私は、スクリプトを実行する1と0のたびにあるウント新しい列sample.csvに追加されています。私はスクリプトを実行するたびに何らかの方法がありますが、列を増やす代わりに追加された列を置き換えることができます。

+0

なぜ人生は困難ですか?出力ファイルの名前、つまりsample_result.csvを変更するだけです。その後、あなたのコードが動作します。後で行う必要があるのは、sample.csvではなく新しいファイルを処理することだけです。 –

答えて

0

sample.csvに書き込んだ後、入力ファイルとして追加の列を使用します。そのため、このファイルには1と0の数が増えています。 よろしくおねがいします、グリゼゴルス

関連する問題