我一直在这个论坛上收到帮助来解析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(我在别处使用过),但这似乎不是解决方案。我还查看了元素树'write'命令,但我不明白如何实现它。
有人可以建议如何从lxml输出构造字符串并将其写入文件吗?
答案 0 :(得分: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))