给出以下XML文件:
<Car>
<Color>Blue</Color>
<Make>Chevy</Make>
<Model/>
</Car>
并使用以下代码:
Car = element.xpath('//Root/Foo/Bar/Car/node()')
parsedCarData = [{field.tag: field.text for field in Car} for action in Car]
如何用空字符串替换None
类型的键值,以便我可以将解析后的键值用于MySQL语句。
我的尝试 - 感谢Marcin 使用转折似乎工作
parsedCars = [{field.tag: field.text if isinstance(field.text,str) else '' for field in Cars} for action in Cars]
对于我的情况,它总是被评估为true。但是当输出前一个None类型时输出两次。欢迎改进!
答案 0 :(得分:1)
根据您的要求,您可能最好过滤is None
,但在实践中,我怀疑这会有所作为:
parsedCars = [{field.tag: field.text if field.text is not None else '' for field in Cars} for action in Cars]
你应该使用basestr
代替str
,因为你的代码会用unicode
替换''
的所有实例,lxml是否应该切换到unicode。 / p>