Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
469 views
in Technique[技术] by (71.8m points)

python - How to get the updated csv file after deleting blank rows?

I have csv file with many entire blank rows.

Step 1: I follow the first answer in this link Delete blank rows from CSV? to get rid of the blank rows. The code in this link is

with open(in_fnam) as in_file:
    with open(out_fnam, 'w') as out_file:
        writer = csv.writer(out_file)
        for row in csv.reader(in_file):
            if row:
                writer.writerow(row)

My csv file name is "Profit.csv". I wrote my code like this

with open("Profit.csv") as in_file:
    with open("Profit_1.csv", 'w') as out_file:
        writer = csv.writer(out_file)
        for row in csv.reader(in_file):
            if row:
                writer.writerow(row)

Step 2: I then checked the missing values and blank rows in "Profit_1.csv" but they are the same as the missing values and blank rows in "Profit.csv"

QUESTION: What should I do now to get the updated csv file after deleting blank rows? Thanks in advance!

question from:https://stackoverflow.com/questions/65935611/how-to-get-the-updated-csv-file-after-deleting-blank-rows

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

An empty row in a CSV file will result in a row object that is a list of many empty strings (['','','','','']). In this case, if row: returns True.

Change

if row:

to

if any(row):

in order to remove rows that consist solely of empty strings.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...