我有一些代码可以解析一些html行并提取一个数字(字符串),并且它全部导出到excel表。在某些情况下,没有数字,因为脚本在寻找解析html代码时被定向到错误的行,因此它在哪里寻找拆分行不存在。然后,这只会将excel电子表格中的单元格留空。
我试图让脚本检查html代码中的另一行,如果第一行给出的结果为None,则解析。这就是我正在做的事情,但它没有任何效果:
if position0 > 0 :
self.high0 = lines[line_number + 4].split('&')[0].split('>')[-1]
self.low1 = lines[line_number + 18].split('&')[0].split('>')[-1]
if self.low1 == None:
self.low1 = lines[line_number + 17].split('&')[0].split('>')[-1]
关于如何实现这一目标的任何想法?我一般都不擅长编程,我确信有一些我很想念的东西很简单。谢谢!
答案 0 :(得分:2)
self.low1
永远不会是None
,因为它是一个字符串(分割到'>'
后的最后一个元素)。您想要与''
if self.low1 == '':
或者只是比较它的真实性:
if not self.low1:
答案 1 :(得分:1)
str.split()
总是返回一个字符串,即使拆分失败,因此self.low1
永远不会设置为None
。
相反,我怀疑你得到一个空字符串:
if not self.low1:
对于空字符串和True
都是None
。
请注意,通常情况下,您应该使用is None
而不是== None
,因为None
是一个单例(在Python程序的生命周期中只存在一个副本)。