これが私のデータだとしましょう。特定の列に基づいてcsvファイルから別のcsvファイルに特定の行をコピーするにはどうすればよいですか?
frame.number frame.len frame.cap_len Packets_Type
1 100 100 ICMP_tt
2 64 64 UDP
3 100 100 ICMP_tt
4 87 64 ICMP_nn
5 100 100 ICMP_tt
6 87 64 ICMP_nn
7 100 100 ICMP_tt
8 87 64 ICMP_nn
9 87 64 ICMP_nn
私はPackets_Type
は、コードのこれらの行を実行することによりICMP_tt
import csv
f = open("file.csv", "rb")
reader = csv.DictReader(f, delimiter=',')
writer = open("newfile.csv",'wb')
writer = csv.writer(writer, delimiter=',')
for row in reader:
if row['Packets_Type'] == 'ICMP_tt':
writer.writerow(row)
に等しい行を抽出したい、csvファイルで私のデータを入れて、私はこのエラーを検出しました:
writer.writerow(row)
_csv.Error: sequence expected
私がお手伝いできるなら、非常に感謝します。
あなたは2つのアプローチを混在させています。 'DictReader'を使ってデータを読み込み、それをリストとして書き戻そうとします。 – roganjosh
インポートに 'csv.DictReader'を使用しましたが、 'csv。ライターは輸出する。 'csv.DictWriter'を使ってエクスポートしてください。 – Abdou