我有一个 ~1GB XML 文件,其中包含我需要从中获取数据的 XML 标记。我有以下格式的 XML 文件(我只是粘贴示例数据,因为实际文件的大小约为 1 GB)。
报告.xml
<report>
<report-name name="ALL_TIME_KEYWORDS_PERFORMANCE_REPORT"/>
<date-range date="All Time"/>
<table>
<row campaignID="79057390" adGroupID="3451305670" keywordID="3000000" keyword="Content" avgPosition="1.55" cost="252910000" clicks="11" conv1PerClick="0" impressions="7395" day="2012-04-23" currency="INR" account="Virtual Voyage" timeZone="(GMT+05:30) India Standard Time" viewThroughConv="0"/>
<row campaignID="79057390" adGroupID="3451305670" keywordID="3000000" keyword="Content" avgPosition="1.16" cost="0" clicks="0" conv1PerClick="0" impressions="160" day="2012-04-23" currency="INR" account="Virtual Voyage" timeZone="(GMT+05:30) India Standard Time" viewThroughConv="0"/>
<row campaignID="79057390" adGroupID="3451305670" keywordID="3000000" keyword="Content" avgPosition="1.56" cost="0" clicks="0" conv1PerClick="0" impressions="34" day="2012-04-23" currency="INR" account="Virtual Voyage" timeZone="(GMT+05:30) India Standard Time" viewThroughConv="0"/>
</table>
</report>
在 Python 中解析/处理 XML 文件并从 xml 标签中获取数据的最佳方法是什么?
有没有可以处理 XML 文件的框架?
该方法需要快速;它需要在 100 秒内完成。
我一直在使用 Hadoop 和 Python 来处理 XML 文件,处理数据通常需要将近 200 秒......所以我正在寻找一种替代解决方案来解析上述 XML 标签并从标签中获取数据。
从某种意义上说,这是来自标签的数据:
campaignID="79057390" adGroupID="3451305670" keywordID="3000000" keyword="Content" avgPosition="1.16" cost="0" clicks="0" ...
处理完 XML 文件后,我会将数据和值 (79057390,3451305670 ...) 存储在 MySQL 数据库中。我所需要的只是能够处理大约 1GB 大小的 XML 文件,并在不到 100 秒的时间内将处理后的数据保存到 MySQL 数据库中。