相关疑难解决方法(0)

Pandas read_xml() method test strategies

Interestingly, pandas I/O tools does not maintain a read_xml() method and the counterpart to_xml(). However, read_json proves tree-like structures can be implemented for dataframe import and read_html for markup formats.

Now, if the pandas team does consider such a read_xml method for a future pandas version, what implementation would they pursue: parsing with built-in xml.etree.ElementTree with its iterfind() or iterparse() functions or the third-party module, lxml with its XPath 1.0 and XSLT 1.0 methods?

下面是我在一个简单,扁平,以元素为中心的XML输入上的四种方法类型的测试运行.所有这些都设置为root的任何二级子级的基因化解析,并且每个方法应该产生完全相同的pandas数据帧.除了pd.Dataframe()字典列表上的最后一次调用之外的所有内容.该XSLT转换的方法,以XML为CSV铸造StringIO()在 …

python xml xslt xpath pandas

77
推荐指数
1
解决办法
5525
查看次数

如何在Python中打开Excel文件?

如何打开一个Excel文件文件以便在Python中读取?

我打开了文本文件,例如,sometextfile.txt使用阅读命令.我如何为Excel文件执行此操作?

python excel

75
推荐指数
4
解决办法
22万
查看次数

对大型XML文件使用Python Iterparse

我需要在Python中编写一个解析器,它可以在没有太多内存(仅2 GB)的计算机上处​​理一些非常大的文件(> 2 GB).我想在lxml中使用iterparse来做到这一点.

我的文件格式为:

<item>
  <title>Item 1</title>
  <desc>Description 1</desc>
</item>
<item>
  <title>Item 2</title>
  <desc>Description 2</desc>
</item>
Run Code Online (Sandbox Code Playgroud)

到目前为止我的解决方案是:

from lxml import etree

context = etree.iterparse( MYFILE, tag='item' )

for event, elem in context :
      print elem.xpath( 'description/text( )' )

del context
Run Code Online (Sandbox Code Playgroud)

不幸的是,这个解决方案仍然占用了大量的内存.我认为问题在于,在处理每个"ITEM"后,我需要做一些事情来清理空的孩子.在处理我的数据到正确清理之后,有人可以提供一些建议吗?

python xml lxml elementtree large-files

36
推荐指数
2
解决办法
3万
查看次数

使用pandas读取Excel XML .xls文件

我知道一些先前提出的问题,但没有一个解决方案可用于我在下面提供的可重现的例子.

我试图读取.xls从文件中http://www.eia.gov/coal/data.cfm#production -特别是历史详细的煤炭产量数据(1983年至二零一三年) coalpublic2012.xls文件,该文件可以免费获得通过下拉.熊猫无法读懂它.

相比之下,最近一年可用的coalpublic2013.xls文件,2013年, 文件,没有问题:

import pandas as pd
df1 = pd.read_excel("coalpublic2013.xls")
Run Code Online (Sandbox Code Playgroud)

但未来十年的.xls文件(2004-2012)不会加载.我用Excel查看了这些文件,它们打开了,并且没有损坏.

我从熊猫那里得到的错误是:

---------------------------------------------------------------------------
XLRDError                                 Traceback (most recent call last)
<ipython-input-28-0da33766e9d2> in <module>()
----> 1 df = pd.read_excel("coalpublic2012.xlsx")

/Users/jonathan/anaconda/lib/python2.7/site-packages/pandas/io/excel.pyc in read_excel(io, sheetname, header, skiprows, skip_footer, index_col, parse_cols, parse_dates, date_parser, na_values, thousands, convert_float, has_index_names, converters, engine, **kwds)
    161 
    162     if not isinstance(io, ExcelFile):
--> 163         io = ExcelFile(io, engine=engine)
    164 
    165     return io._parse_excel(

/Users/jonathan/anaconda/lib/python2.7/site-packages/pandas/io/excel.pyc in __init__(self, io, **kwds)
    204                 self.book …
Run Code Online (Sandbox Code Playgroud)

python excel xlrd pandas

7
推荐指数
2
解决办法
6676
查看次数

更有效地将 xml 文件转换为数据框

我正在尝试将大型 (53MB) XML 文件加载到 Pandas 数据帧中。这里有 3 行实际数据(来自 NTSB 航空事故报告的公共数据库),但实际文件有 77257 行:

<?xml version="1.0"?>
<DATA xmlns="http://www.ntsb.gov">
<ROWS>
    <ROW EventId="20150901X74304" InvestigationType="Accident" AccidentNumber="GAA15CA244" EventDate="09/01/2015" Location="Truckee, CA" Country="United States" Latitude="" Longitude="" AirportCode="" AirportName="" InjurySeverity="" AircraftDamage="" AircraftCategory="" RegistrationNumber="N786AB" Make="JOE SALOMONE" Model="SUPER CUB SQ2" AmateurBuilt="" NumberOfEngines="" EngineType="" FARDescription="" Schedule="" PurposeOfFlight="" AirCarrier="" TotalFatalInjuries="" TotalSeriousInjuries="" TotalMinorInjuries="" TotalUninjured="" WeatherCondition="" BroadPhaseOfFlight="" ReportStatus="Preliminary" PublicationDate=""/>
    <ROW EventId="20150901X92332" InvestigationType="Accident" AccidentNumber="CEN15LA392" EventDate="08/31/2015" Location="Houston, TX" Country="United States" Latitude="29.809444" Longitude="-95.668889" AirportCode="IWS" AirportName="WEST HOUSTON" InjurySeverity="Non-Fatal" AircraftDamage="Substantial" AircraftCategory="Airplane" RegistrationNumber="N452CS" Make="CESSNA" Model="T240" AmateurBuilt="No" NumberOfEngines="" EngineType="" FARDescription="Part 91: General …
Run Code Online (Sandbox Code Playgroud)

python xml dataframe

2
推荐指数
1
解决办法
2107
查看次数

标签 统计

python ×5

xml ×3

excel ×2

pandas ×2

dataframe ×1

elementtree ×1

large-files ×1

lxml ×1

xlrd ×1

xpath ×1

xslt ×1