相关疑难解决方法(0)

如何在Python中逐行读取大文本文件,而不将其加载到内存中?

我需要逐行读取一个大文件.假设文件超过5GB,我需要读取每一行,但显然我不想使用,readlines()因为它会在内存中创建一个非常大的列表.

以下代码如何适用于此案例?xreadlines本身是一个一个地读入记忆吗?是否需要生成器表达式?

f = (line for line in open("log.txt").xreadlines())  # how much is loaded in memory?

f.next()  
Run Code Online (Sandbox Code Playgroud)

另外,我可以做什么来以相反的顺序读取它,就像Linux tail命令一样?

我发现:

http://code.google.com/p/pytailer/

" python头,尾和向后读取文本文件的行 "

两者都运作得很好!

python

218
推荐指数
8
解决办法
22万
查看次数

以便携式数据格式保存/加载scipy稀疏csr_matrix

如何csr_matrix以便携式格式保存/加载scipy稀疏?scipy稀疏矩阵在Python 3(Windows 64位)上创建,以在Python 2(Linux 64位)上运行.最初,我使用了pickle(使用protocol = 2和fix_imports = True),但这从Python 3.2.2(Windows 64位)到Python 2.7.2(Windows 32位)不起作用并得到错误:

TypeError: ('data type not understood', <built-in function _reconstruct>, (<type 'numpy.ndarray'>, (0,), '[98]')).
Run Code Online (Sandbox Code Playgroud)

接下来,尝试过numpy.save,numpy.load以及scipy.io.mmwrite()并且scipy.io.mmread()这些方法都没有奏效.

python numpy scipy

76
推荐指数
6
解决办法
5万
查看次数

检查两个scipy.sparse.csr_matrix是否相等

我想检查两个csr_matrix是否相等.

如果我做:

x.__eq__(y)
Run Code Online (Sandbox Code Playgroud)

我明白了:

raise ValueError("The truth value of an array with more than one "
ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all().
Run Code Online (Sandbox Code Playgroud)

但是,这很好用:

assert (z in x for z in y)
Run Code Online (Sandbox Code Playgroud)

有没有更好的方法呢?也许使用一些scipy优化的功能?

非常感谢

python numpy scipy

14
推荐指数
1
解决办法
5565
查看次数

csv到python中的稀疏矩阵

我有一个很大的csv文件,它列出了图中节点之间的连接.例:

0001,95784
0001,98743
0002,00082
0002,00091

所以这意味着节点id 0001连接到节点95784和98743,依此类推.我需要把它读成numpy中的稀疏矩阵.我怎样才能做到这一点?我是python的新手,所以这方面的教程也会有所帮助.

python sparse-matrix data-structures

9
推荐指数
1
解决办法
8474
查看次数

如何读取边列表以制作scipy稀疏矩阵

我有一个大文件,其中每行有一对8个字符串.就像是:

ab1234gh iu9240gh
Run Code Online (Sandbox Code Playgroud)

在每一行.

此文件实际上代表一个图形,每个字符串都是一个节点ID.我想在文件中读取并直接创建一个scipy稀疏邻接矩阵.然后,我将使用python中提供的众多工具之一在此矩阵上运行PCA

有没有一种巧妙的方法来做到这一点,还是我需要首先在RAM中制作一个图形,然后将其转换为稀疏矩阵?由于文件很大,我想尽可能避免中间步骤.

最后,我将稀疏邻接矩阵提供给http://scikit-learn.org/stable/modules/generated/sklearn.decomposition.TruncatedSVD.html#sklearn.decomposition.TruncatedSVD.

python numpy scipy igraph scikit-learn

6
推荐指数
1
解决办法
977
查看次数