0

I get back a response from an API in XML form. It looks like:

<result_set>
    <status> ...
    </status>
    <copyright> ...
    </copyright>
    <results>
       <congress> ...
       </congress>
       <chamber> ...
       </chamber>
       <num_results> ...
       </num_results>
       <offset> ...
       </offset>
       <members>
         <member>
           <id> ... </id>
           <name> ... </name>
           ...
           ...
           ...
         </member>
         <member> ... </member>
         ...
         ... 
         ...
       </members>
    </results>
</result_set>

I need the data under each tag into a pandas dataframe of the form:

id name ... ... ...
1  JOHN ... ... ...
2  DOE  ... ... ...

I have tried ElementTree, but I have failed in all attempts so far.

4
  • 2
    ElementTree is a good approach. Show us what you've tried so far even if it's not working then we can help Commented Oct 15, 2019 at 18:22
  • Do you need the data only under members ? Commented Oct 15, 2019 at 19:01
  • @balderman, yes. I need the data of each member. Commented Oct 15, 2019 at 19:05
  • @lazycamper OK. See my answer. Commented Oct 15, 2019 at 19:09

1 Answer 1

1

Below

import pandas as pd
import xml.etree.ElementTree as ET

xml = '''<r> 
         <members>
         <member>
           <id>1</id>
           <name>jack</name>
         </member>
         <member>
           <id>5</id>
           <name>dan</name>
         </member>

       </members>
       </r>'''

root = ET.fromstring(xml)
data = []
members = root.findall('.//member')
for member in members:
    data.append({c.tag:c.text for c in list(member)})
df = pd.DataFrame(data)
print(df.head())

output

  id  name
0  1  jack
1  5   dan
Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.