删除csv文件中空值所在行
pandas 一行语句就能完成对应操作,如果对你有帮助,帮忙采纳,多谢!
df.dropna(axis=0, how='any', inplace=True, subset=None)
# coding=gbk
import csv
import os
file_old = 'data/test_1.csv'
file_temp = 'data/test_temp.csv'
with open(file_old, 'r', newline='', encoding='gbk') as f_old, \
open(file_temp, 'w', newline='', encoding='gbk') as f_temp:
f_csv_old = csv.reader(f_old)
f_csv_temp = csv.writer(f_temp)
for i, rows in enumerate(f_csv_old): # 保留header
if i == 0:
f_csv_temp.writerow(rows)
break
for rows in f_csv_old:
if rows[0] != '': # 替换需要验证的列或者改为验证多列
f_csv_temp.writerow(rows)
os.remove(file_old)
os.rename(file_temp, file_old)
用for循环一行一行读,哪行有空值删去即可