0

我一直在这个论坛上获得帮助来解析 xml 文件并提取某些值。我可以使用以下命令成功地将所需的值打印到屏幕上:

for info in root.xpath('//xmlns:ProgramInformation', namespaces=nsmap):

   print (info.get('programId')) # retrieve crid
   print (info.find('.//xmlns:Title', namespaces=nsmap).text) # retrieve title
   print (info.find('.//xmlns:Genre/xmlns:Name', namespaces=nsmap).text) # retrieve genre

我现在需要将输出写入一个文件(不是 XML 格式,而是 ABC|DEF|GHI 格式,每个设置在一个新行上)。

我尝试了 fo.write (我在其他地方使用过),但这似乎不是解决方案。我还查看了元素树“写入”命令,但我不明白如何实现它。

有人可以建议如何从 lxml 输出构造字符串并将其写入文件吗?

4

1 回答 1

0

open使用写入模式 ( )打开输出文件w,然后使用file.write写入文件。

with open('output.txt', 'w') as f:
    for info in root.xpath('//xmlns:ProgramInformation', namespaces=nsmap):
       crid = (info.get('programId')) # retrieve crid
       title = (info.find('.//xmlns:Title', namespaces=nsmap).text) # retrieve title
       genre = (info.find('.//xmlns:Genre/xmlns:Name', namespaces=nsmap).text) # retrieve genre
       f.write('{}|{}|{}\n'.format(crid, title, genre))
于 2013-10-03T11:04:58.177 回答