我正在尝试将第 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)
