array = [{'@MeasurementDateGMT': '2017-02-25 00:00:00',
'@SpeciesCode': 'CO',
'@Value': '0.3'},
{'@MeasurementDateGMT': '2017-02-25 01:00:00',
'@SpeciesCode': 'CO',
'@Value': '0.3'}....}]
try:
pm10 = [float(d['@Value']) for d in array if d['@SpeciesCode'] == 'PM10']
except ValueError:
pm10 = [''] * 24
我正在使用jsonapi中的数据在highcharts中进行绘图,因此我需要将字符串中的值转换为float。问题是,在只有一个空字符串的情况下,偶尔会出现缺少值的情况。这会导致ValueError,这就是我需要try/except块的原因
如果只缺少几个值,则当前需要替换整个数据集(使用except子句),以避免浮点转换的ValueError
对于这样的列表:
['3.4', '', '4.0']
我需要一个这样的清单:
[3.4, '', 4.0]
如何使浮点转换只在包含值的字符串上而不在空字符串上进行
如果我理解正确,以下简单条件应符合您的要求:
输出:
如果
d['@Value']
是""
,它会附加一个空str例如:
输出为:
相关问题 更多 >
编程相关推荐