2017-09-12 2 views
0

ID 값을 XML에서 추출하여 CSV 파일에 저장하려고합니다. 나는 다음과 ID에 대한 API 응답을 분석 할 수 있었다XML 값을 추출하여 XML 태그없이 CSV에 저장하는 방법은 무엇입니까?

<?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 = tree.find('.//ID').text 
print ID 

단지 나에게 하나의 ID, 예를 제공하는 XML은 다음과 같습니다 92304823A-2932.

ID 태그를 반복하여 모든 ID을 추출 할 수 있기를 원합니다.

이것은 내가 시도한 것으로, 내가 잘못하고있는 것이 무엇인지 잘 모르겠지만 오류 메시지조차받지 못합니다.

for node in tree.find('.//ID'): 
    ID = tree.find('.//ID').text 
    print ID 

둘째, 나도 같은 for 루프 내에서 CSV로 ID의를 쓸 수 있다면 확실하지 않다.

제 질문은 XML의 ID 태그를 모두 루프하는 방법입니다. 그러면 ID을 CSV에 쓰려면 어떻게해야합니까?

제 질문이 의미가없는 경우 알려주십시오.

미리 감사드립니다.

답변

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()]) 
관련 문제