我正在尝试从XML中提取ID
值并将其保存为CSV文件。 XML看起来像这样:
<?xml version="1.0" encoding="utf-8" ?>
<YourMembership_Response>
<Items>
<Item>
<ItemID></ItemID>
<ID>92304823A-2932</ID>
<WebsiteID>0987</WebsiteID>
<NamePrefix></NamePrefix>
<FirstName>John</FirstName>
<MiddleName></MiddleName>
<LastName>Smith</LastName>
<Suffix></Suffix>
<Nickname></Nickname>
<EmployerName>abc company</EmployerName>
<WorkTitle>manager</WorkTitle>
<Date>3/14/2013 2:12:39 PM</Date>
<Description>Removed from group by Administration.</Description>
</Item>
<Item>
<ItemID></ItemID>
<ID>92304823A-2932</ID>
<WebsiteID>0987</WebsiteID>
<NamePrefix></NamePrefix>
<FirstName>John</FirstName>
<MiddleName></MiddleName>
<LastName>Smith</LastName>
<Suffix></Suffix>
<Nickname></Nickname>
<EmployerName>abc company</EmployerName>
<WorkTitle>manager</WorkTitle>
<Date>3/14/2013 2:12:39 PM</Date>
<Description>Removed from group by Administration.</Description>
</Item>
我已经能够使用以下内容解析ID
的API响应:
ID = tree.find('.//ID').text
print ID
只能给我一个ID
,例如92304823A-2932
。
我希望能够遍历ID
标记以提取所有ID
。
这是我尝试过的,我不确定我做错了什么,但我甚至没有收到错误消息。
for node in tree.find('.//ID'):
ID = tree.find('.//ID').text
print ID
其次,我不确定是否可以在同一ID
循环中将for
写入CSV。
从高层次来看,我的问题是如何遍历XML中的所有ID
标记,然后如何将这些ID
写入CSV?
如果我的问题没有意义,请告诉我。
提前谢谢。
答案 0 :(得分:0)
这段代码对我有用:
with open("output1.csv", "wb") as f:
writer = csv.writer(f)
for node in tree.findall('.//ID'):
writer.writerow([u' '.join(node.text).encode('utf8').strip()])