答案基于Jeff和JoeKington的帮助。在将数据推入数据框之前,需要将它们分别放入列表中。内存错误是由无法放入数据帧的多个“元素”引起的。取而代之的是,每个元素字典都需要放入一个可以放入数据帧的列表中。
这有效:
dTime=[]dvalue=[]for df in root.xpath('//channel/Time'): ## Iterate over attributes of channel for attrib in df.attrib: dTime.append(df.attrib[attrib]) ## value is a child of time, and iterate subfields = df.getchildren() for subfield in subfields: dvalue.append(subfield.text)pef=Dataframe({'Time':dTime,'values':dvalue})pef<class 'pandas.core.frame.Dataframe'>Int64Index: 12960 entries, 0 to 12959Data columns (total 2 columns):Time 12960 non-null valuesvalue 12960 non-null valuesdtypes: object(2)pef[:5] Time value0 2013-05-01 00:00:00 2581 2013-05-01 00:01:00 2592 2013-05-01 00:02:00 2583 2013-05-01 00:03:00 2574 2013-05-01 00:04:00 257


