Create a new CSV that excludes rows from the old CSV

I need to be guided by the code for writing a CSV file that flushes rows with specific numbers in the first column [0]. My script writes the file, but contains the lines I'm trying to delete. I suspect that I may have a problem reading the spreadsheet as one long line, rather than ~ 150 lines.

import csv

Property_ID_To_Delete = {4472738, 4905985, 4905998, 4678278, 4919702, 4472936, 2874431, 4949190, 4949189, 4472759, 4905977, 4905995, 4472934, 4905982, 4906002, 4472933, 4905985, 4472779, 4472767, 4472927, 4472782, 4472768, 4472750, 4472769, 4472752, 4472748, 4472751, 4905989, 4472929, 4472930, 4472753, 4933246, 4472754, 4472772, 4472739, 4472761, 4472778}

with open('2015v1.csv', 'rt') as infile:
    with open('2015v1_edit.csv', 'wt') as outfile:
        writer = csv.writer(outfile)
        for row in csv.reader(infile):
            if row[0] != Property_ID_To_Delete:
                writer.writerow(row)

Here are the data: https://docs.google.com/spreadsheets/d/19zEMRcir_Impfw3CuexDhj8PBcKPDP46URZ9OA3uV9w/edit?usp=sharing

+4
source share
1 answer

, , , , . , . , . :

>>> '1' != {1}
True

, .

:

if row[0] != Property_ID_To_Delete:

if int(row[0]) not in Property_ID_To_Delete:

infile, :

with open('2015v1.csv', 'rt') as infile:
    with open('2015v1_edit.csv', 'wt') as outfile:
        writer = csv.writer(outfile)
        reader = csv.reader(infile)
        writer.writerow(next(reader))
        for row in reader:
            if int(row[0]) not in Property_ID_To_Delete:
                writer.writerow(row)
+3

All Articles