我正在使用ElementTree读取一个.xml文件,并将输出保存到一个.csv文件中。我遍历xml文件中的所有行,并将名称和文本对保存在一个列表中。你知道吗
savedParameters = []
tree = ET.parse(work_dir + input_name)
root = tree.getroot()
for child in root:
savedParameters.append({'parameterName' : child.tag, 'Value' : child.text})
for gchild in child:
savedParameters.append({'parameterName' : gchild.tag, 'Value' : gchild.text})
for ggchild in gchild:
.
.
.
然后循环保存的参数并将它们写入csv文件。这一切都可以正常工作,除了在一种情况下,以下面的xml为例。你知道吗
<VehicleId>123456789</VehicleId>
-<VRMs>
<ForAppointment>X111XXX</ForAppointment>
<Alternate>X111XXX</Alternate>
</VRMs>
<Vin>123456</Vin>
在这种情况下,除了字段外,所有内容都将按预期存储。但是,当我访问子.text()它存储一个带有新行的空字符串,即-<VRMs>
和</VRMs>
之间的所有空格。因此,当我写到csv时,它会写出新行。你知道吗
我试过replace(" ", "")
和replace("\n","")
,但都没有解决我的问题。有人知道怎么解决这个问题吗?你知道吗
您应该能够使用
str.strip()
(不提供任何参数)去掉换行符(从字符串的开头和结尾)。你知道吗示例-
如上图所示,
str.strip()
将返回空字符串,如果字符串只包含空格,您的child.text
就是这种情况。因此,在您尝试将其存储在字典中之前,您应该能够执行-child.text.strip()
。示例-相关问题 更多 >
编程相关推荐