【发布时间】:2023-01-02 00:33:07
【问题描述】:
我正在使用 Python 构建数据管道,但在尝试执行某个函数时遇到了问题。我收到的错误消息是:ValueError: Could not convert string to float: 'N/A'
这是有问题的功能:
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)
代码:
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,则返回处理后的项目。
【问题讨论】:
-
在这种情况下,您预计会发生什么?像这样的字符串不代表数字。您需要以适合您的任务的方式手动处理这种特殊情况。有关如何捕获它们的一些一般信息,您可以查找 try..catch 和类型转换。
-
你能具体说明你的问题是什么吗?
标签: python linux amazon-web-services data-pipeline