【问题标题】:Strange mismatched tag error with pandas read xml熊猫读取xml的奇怪不匹配标签错误
【发布时间】:2021-04-22 11:12:01
【问题描述】:

我一直在使用包pandas_read_xml 将XML 文件读入pandas 数据框。但是,我最近开始遇到这个包非常奇怪的行为。 xml 解析器偶尔会崩溃,但在反复尝试时,它可以工作。我对此感到非常困惑,所以我希望这里的任何人有可能帮助我解决这个问题。我将尝试在下面说明我面临的问题。

  import pandas as pd
  import pandas_read_xml as pdx

  data = pdx.read_xml('https://www.sec.gov/Archives/edgar/data/1000351/000114554921012283/primary_doc.xml', ['edgarSubmission'])

这偶尔会返回错误“ExpatError: mismatched tag: line 50, column 124”。但是,经过反复尝试,它工作得很好。对于其他路径也观察到类似的行为。我已确保 xml 文件没有任何问题。我查看了 Traceback,它包含以下内容:

 File "<ipython-input-118-c68fdb3a2633>", line 1, in <module>
 data = pdx.read_xml('https://www.sec.gov/Archives/edgar/data/1002537/000114554921006264/primary_doc.xml',['edgarSubmission'])

 File "C:\Users\A1610222\AppData\Local\Continuum\anaconda2\lib\site-packages\pandas_read_xml.py", 
 line 33, in read_xml return read_xml_as_dataframe(read_xml_from_url(path_or_xml), root_key_list, 
 root_is_rows=root_is_rows, transpose=transpose)

 File "C:\Users\A1610222\AppData\Local\Continuum\anaconda2\lib\site-packages\pandas_read_xml.py", 
 line 62, in read_xml_as_dataframe return pd.DataFrame([get_to_root_in_dict(xmltodict.parse(xml), 
 root_key_list)])

 File "C:\Users\A1610222\AppData\Local\Continuum\anaconda2\lib\site-packages\xmltodict.py", line 327, 
 in parse parser.Parse(xml_input, True)

 ExpatError: mismatched tag: line 50, column 124

它似乎指向包 pandas_read_xml 中的第 33 和 62 行。我已经卸载并重新安装了该软件包以确保没有任何问题,但问题仍然存在。如果我缺少一些完全基本的东西,请原谅我的无知。如果有任何不清楚的地方,请告诉我。期待您的帮助。

【问题讨论】:

  • 对包不熟悉;但是,我知道@Parfait 正在直接在 pandas 中开发 read_xml 功能。同时,为什么不使用 lxml 读取文件然后创建数据框呢?如果您需要社区的帮助,您可以分享预期的输出数据框

标签: python pandas xml-parsing readxml


【解决方案1】:

我今天发现问题是由于连接问题,与包或xml文件的结构无关。

【讨论】:

    猜你喜欢
    • 2013-12-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-10
    • 2015-10-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多