Skip to main content
 首页 » 编程设计

python之使用过滤器忽略空/空白单元格

2025年05月04日24myhome

我正在尝试将第 22 列的数字介于 0.10 和 1.00 中过滤到 Day.csv 中。但是其中一些单元格是空白的,根本没有数字并导致错误:

ValueError:无法将字符串转换为 float :

这是我尝试过的:

reader = csv.reader(open("AllData.csv"), delimiter=',')  
    filteredDay = filter(lambda p:0.10 <= float(p[23]) <= 1.00, reader) 
    csv.writer(open(r"{}\Day.csv".format(queue),'w',newline =''), 
               delimiter=',').writerows(filteredDay) 

请您参考如下方法:

因此,当相关单元格不包含任何值时,您可能需要过滤器返回 False 吗?尝试:

filteredDay = filter(lambda p: p[23] != "" and 
                               0.10 <= float(p[23]) <= 1.00, reader)