0

result.csv と sample.csv の 2 つの csv ファイルがあります。

結果.csv

M11251TH1230 
M11543TH4292 
M11435TDS144

サンプル.csv

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

result.csv の行が sample.csv の行の最初の単語と一致する場合に両方のファイルを比較し、sample.csv のすべての行に 1 を追加するか、0 を追加する python スクリプトがあります。

M11543TH4258 が result.csv に見つからないため、M11435TDS144,STB#1,Router#1,1 および M11543TH4258,STB#4,Router#1,0 のようになります。

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)

スクリプトを 2 回実行した場合の出力例 (sample.csv)

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

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

4

1 に答える 1

0

に書き込み、sample.csvそれを追加の列とともに入力ファイルとして使用します。そのため、このファイルには 1 と 0 がますます多く含まれています。よろしく、 グジェゴシュ

于 2016-09-28T15:09:39.997 に答える