Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用python从混乱的xml文件中提取数据_Python_Xml - Fatal编程技术网

使用python从混乱的xml文件中提取数据

使用python从混乱的xml文件中提取数据,python,xml,Python,Xml,我是python新手,从xml文件中提取数据时遇到问题,这对我来说非常混乱。我要寻找的数据是股票代码——比如AAPL——见下文。谢谢你的帮助 </ss:Row> <ss:Row> <ss:Cell ss:StyleID="Left"> <ss:Data ss:Type="String">AAPL</ss:Data> </ss:Cell> <ss:Cell ss:StyleID="Left"> <ss:Dat

我是python新手,从xml文件中提取数据时遇到问题,这对我来说非常混乱。我要寻找的数据是股票代码——比如AAPL——见下文。谢谢你的帮助

</ss:Row>
<ss:Row>
<ss:Cell ss:StyleID="Left">
<ss:Data ss:Type="String">AAPL</ss:Data>
</ss:Cell>
<ss:Cell ss:StyleID="Left">
<ss:Data ss:Type="String">APPLE INC</ss:Data>
</ss:Cell>
<ss:Cell ss:StyleID="Left">
<ss:Data ss:Type="String">Equity</ss:Data>
</ss:Cell>
<ss:Cell ss:StyleID="Right">
<ss:Data ss:Type="Number">3.73173</ss:Data>
</ss:Cell>
<ss:Cell ss:StyleID="Right">
<ss:Data ss:Type="Number">208.74</ss:Data>
</ss:Cell>
<ss:Cell ss:StyleID="Right">
<ss:Data ss:Type="Number">32551247</ss:Data>
</ss:Cell>
<ss:Cell ss:StyleID="Right">
<ss:Data ss:Type="Number">6794747298.78</ss:Data>

AAPL
苹果公司
衡平法
3.73173
208.74
32551247
6794747298.78

ElementTree可能是您在这里最好的朋友()。它有助于整理您的xml,使您能够轻松地对其进行探索并从中提取数据。



有关探索树的更多信息(例如,查找带有特定标记的元素)可以在我提供给您的链接的网页上找到。

您已经在使用什么代码来尝试做您想做的事情?您在问题中遇到的看起来像是从Excel导出的XML文件的片段。请提供更多上下文和。我将指向该文件的链接括起来-它给出了一个分析错误-ParseError:语法错误:第1行,第0列我也尝试了root=ET.parse(text),但它给了我另一个错误-ParseError:格式不正确(无效令牌):第1行,第1列问题是诸如“”的标记被认为是不正确的。此外,您的XML包含未关闭的标记。(在前面)使用以下代码:text=“”AAPL”“”尝试此代码,因此需要首先修复XML。
import xml.etree.ElementTree as ET
text = "" # copy xml you want to parse; it looks like XML that you pasted is incorrect (you start from closing tag)
root = ET.fromstring(text)
# then you can explore your tree for example:
for el in root:
    print(el.text) # check what text is collected in this tag