[英]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.