我很难尝试使用python 3.4.3从csv文件中删除空(空白)行。每次运行脚本时,输出都与原始输出保持一致。
import csv
...
with open('demo004.csv') as input, open('demo005.csv', 'w') as output:
writer = csv.writer(output)
for row in csv.reader(input):
if any(field.strip() for field in row):
writer.writerow(row)
input.close()
output.close()
我的CSV文件格式为。
AA,AB,AC
BA,BB,BC
CA,CB,CB
我想获得
AA,AB,AC
BA,BB,BC
CA,CB,CB
答案 0 :(得分:4)
当您尝试打开要写入的文件时,请使用其他参数打开它,换行符''
import csv
...
with open('demo004.csv') as input, open('demo005.csv', 'w', newline='') as output:
writer = csv.writer(output)
for row in csv.reader(input):
if any(field.strip() for field in row):
writer.writerow(row)
答案 1 :(得分:1)
如果您只想删除空白行(即空白行或可能只包含空格),那么您不必担心其他行是CSV。这意味着您可以这样做:
with open('demo004.csv') as input, open('demo005.csv', 'w') as output:
non_blank = (line for line in input if line.strip())
output.writelines(non_blank)