我使用以下代码块将文件“f”中的行读取到嵌套列表中:
for data in f:
clean_data = data.rstrip()
data = clean_data.split('\t')
t += [data[0]]
strmat += [data[1:]]
但是,有时数据不完整,行可能如下所示:
['955.159', '62.8168', '', '', '', '', '', '', '', '', '', '', '', '', '', '29', '30', '0', '0']
因为我希望Python隐式地将我的列表转换为float,但是空字段“”导致它转换为字符串数组(dtype:s12)。你知道吗
我可以启动第二个“if”语句并将所有空字段转换为NULL(因为在本例中0是错误的),但我不确定这是否是最好的。你知道吗
处理不完整值的方式取决于应用程序的上下文(您还没有提到)。你知道吗
例如,可以忽略缺少的值
或者,您可能希望用您提到的
NULL
替换它们:如您所见,处理不完整数据有许多不同的策略。无论如何,这里的示例代码段可能会帮助您为任务选择正确的代码段。如您所见,我更喜欢函数式编程,比如内置程序,因为它通常是最短、最简单的方法(我不认为在执行时间上会有任何明显的差异)。你知道吗
相关问题 更多 >
编程相关推荐