繁体   English   中英

数据管道运行时出现ValueError Python function

[英]ValueError when running Python function in data pipeline

我正在使用 Python 构建数据管道,在尝试执行某个 function 时遇到问题。我收到的错误消息是: ValueError: Could not convert string to float: 'N/A'

这是有问题的 function:

def process_data(data):
    for item in data:
        # Do some processing...
        value = float(item[1])
        if value > 0:
            processed_item = process_item(item)
            yield processed_item

我这样呼叫 function:

data = [('A', '1.5'), ('B', '2.7'), ('C', 'N/A'), ('D', '4.1'), ('E', '5.9')]
processed_data = process_data(data)

代码:

def process_data(data):
    for item in data:
        # Do some processing...
        value = float(item[1])
        if value > 0:
            processed_item = process_item(item)
            yield processed_item

data = [('A', '1.5'), ('B', '2.7'), ('C', 'N/A'), ('D', '4.1'), ('E', '5.9')]
processed_data = process_data(data)

错误信息:

ValueError: Could not convert string to float: 'N/A'

预期结果是处理数据列表中的项目,如果项目的值大于 0,则返回处理后的项目。

float(parameter)的参数值必须是数字或者是可以转为浮点数的字符串。

无法转换值“N/A” ,因为它不是数字

你可以试试:

try:
    value = float(item[1])
except ValueError:
    value = 0

假设您希望任何不是数字的东西都变成零,然后将被您的if value > 0:语句过滤掉。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM