XML到Datafrem

2024-04-26 18:49:25 发布

您现在位置:Python中文网/ 问答频道 /正文

我的代码没有把值放在Datafeame中-都没有,请帮助查找错误。最初我是从这里取的 http://gokhanatil.com/2017/11/python-for-data-science-importing-xml-to-pandas-dataframe.html#comment-414932

我的xml

    xmlns="http://www.sec.gov/edgar/document   /thirteenf/informationtable"        xmlns:xsi="http://www.w3.org/2001/XMLSchema-   instance">
    <infoTable>
                                                  <nameOfIssuer>AMERICAN AIRLS GROUP    INC</nameOfIssuer>
   <titleOfClass>COM</titleOfClass>
   <cusip>02376R102</cusip>
   <value>857267</value>
   <shrsOrPrnAmt>
       <sshPrnamt>20742000</sshPrnamt>
       <sshPrnamtType>SH</sshPrnamtType>
   </shrsOrPrnAmt>
   <investmentDiscretion>DFND</investmentDiscretion>
   <otherManager>4</otherManager>
   <votingAuthority>
       <Sole>20742000</Sole>
       <Shared>0</Shared>
       <None>0</None>
   </votingAuthority>

我的代码

 import xml.etree.cElementTree as et
 import pandas as pd


def getvalueofnode(node):
    """ return node text or None """
    return node.text if node is not None else None


def main():
    """ main """
    parsed_xml = et.parse("form13fInfoTable.xml")
   dfcols = ['infoTable/nameOfIssuer', 'infotanle/cusip', 'infotable/value']
df_xml = pd.DataFrame(columns=dfcols)

for node in parsed_xml.getroot():
    print(parsed_xml.getroot())
    parsed_xml.getroot()

    nameOfIssuer = node.find('informationTable/infoTable/nameOfIssuer')
    cusip = node.find('infoTable/cusip')
    value = node.find('infoTable/value')


    df_xml =    df_xml.append(pd.Series([getvalueofnode(nameOfIssuer),getvalueofnode(cusip), getvalueofnode(value)], index=dfcols),ignore_index=True)

print(df_xml)


main()

Tags: nonenodehttpdfvaluemainxmlparsed
1条回答
网友
1楼 · 发布于 2024-04-26 18:49:25

我想写一篇评论,但我还不能写。你知道吗

您的xml文件正确吗?似乎xml中缺少开头标记,一个是名称空间:

<root xmlns=... > your xml </root>

而且,<infoTable>标记没有关闭

相关问题 更多 >