我正在使用python的优秀xml模块来处理我拥有的一些xml文件。其中一个文件是250+ MB。在解析时,它似乎挂起了。运行top显示它正在缓慢地填充我的内存,然后开始交换,但在超过一个小时的时间内不会返回(此时我会终止进程并进行搜索)。
我正盯着这样的过程:
>>> import xml.etree.ElementTree as ET
>>> tree = ET.parse('some_xml_file.xml')
但我的任何尝试都是这样的。较小的文件正在正常工作,但是这个大文件正在破坏一些东西。
什么在填充我所有的内存(4GB),我如何
嗯,我有一个包含数据和服务器RAM瓶颈的大型CSV文件。除此之外,还有一个dask分布式集群,看起来像是这种情况的解决方案,dask-scheduler运行在服务器上。这是我尝试过的:
import dask.dataframe as dd
import pandas as pd
from dask.bag import from_sequence
cheques = dd.read_csv('cheque_data.csv') # not working because of distributed workers can't access file directl
我有大约1.5G的xml文件,我想读取这个大文件。但我会跟着错误走。
更新: --我想在上面处理完后阅读这个xml,分配一个字符串
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
at java.util.Arrays.copyOf(Unknown Source)
at java.lang.AbstractStringBuilder.expandCapacity(Unknown Source)
at java.lang.AbstractStringBuilder
我使用JAXB读取一个大约4GB的大型XML,我有一个很好的系统,包括SSD、RAM和多CPU核。我想使用多个线程来读取那个XML文件。我已经研究过了,但还没有找到任何解决办法。
我在想,如果我可以使用多个线程读取XML,并通过XML解析器发送字节块来解析,那就很好了,但我想知道是否已经有了解决方案和实现。
我的代码片段
public void parseXML() throws Exception{
try(InputStream is = new BufferedInputStream(new FileInputStream(xmlFile),XML_READ_BUFFER)){
我有相当大的xml文件和相对较少的内存。在解析文件时,我目前正在将整个文件加载到内存中,如下面的代码片段所示,这会减慢整个计算机的运行速度,有时甚至无法工作。我想知道是否有一种方法一次只将一个项目装入内存?也许在处理当前文件时加载下一个文件时使用一些多处理,比如在深入学习中使用。
root = ET.parse("my_file.xml").getroot()
for child in root:
do_something()
当我尝试通过读取pickle文件来创建dask数据帧时,我得到了一个错误
import dask.dataframe as dd
ds_df = dd.read_pickle("D:\test.pickle")
AttributeError: 'module' object has no attribute 'read_pickle'
but it works fine with read_csv
在大熊猫身上,它一如既往地成功了。
所以,如果我在这里或者在dask中做错了什么,请纠正我,我们根本不能通过读取一个pickle文件来创建数据帧
我正在使用bs4和Python3.5解析维基百科元数据文件
这适用于从(大得多的)文件的测试片中提取:
from bs4 import BeautifulSoup
with open ("Wikipedia/test.xml", 'r') as xml_file:
xml = xml_file.read()
print(BeautifulSoup(xml, 'lxml').select("timestamp"))
问题是元数据文件都是gzcat文件,所以我希望让BeautifulSoup作为迭代器读取数据(甚至可以从1
安装环境:
我正在开发一个Excel2010ApplicationLevel外接程序,它使用vb.net和.NET框架4。
我的目标:
在运行时,可以访问我的项目中的嵌入式XML文件
使用XpathNavigator按名称选择特定节点
--这段代码在控制台应用程序:中为我工作
Imports System.Xml
Imports System.Xml.XPath
Dim nav As XPathNavigator
Dim docNav As XPathDocument
Dim NodeIter As XPathNodeItera
我有一个在MS中创建的固定长度记录的二进制文件,我需要将该文件读入SAS 9.4 64位。当前,使用以下代码在数据步骤中读取该文件:
data outputdata.(EOC=no
compress = yes
keep = a b c);
length a $4.;
length b 4.;
infile "&inputfile." obs= 999999999 lrecl=308 recfm=F;
input @5 a $4.
@9 b ib4.
@1
我在尝试使用DataSet时遇到了困难,特别是在尝试根据模式文件验证XML数据时。
我用Visual Studio2008编程,XSD就是用它创建的。
我依赖Altova XMLSpy来进行离线验证,当Altova在根据模式验证数据时没有任何抱怨,而我的VB.NET代码却引发异常时,麻烦就出来了。
代码简单读取XSD模式文件,然后读取XML数据文件:
Dim tmpDataSet As New DataSet
(...)
tmpDataSet.ReadXmlSchema(xsdtreamreader)
tmpDataSet.ReadXml(xmltreamreader)
执行最后一行时,出现以