Python-优化文件解析

Python-优化文件解析,python,python-2.7,file,parsing,optimization,Python,Python 2.7,File,Parsing,Optimization,我正在从事一个项目,该项目涉及存储在.txt文件中的大数据。我的程序运行有点慢。我认为这样做的一个原因是我的程序以一种无效的方式解析文件 文件示例: X | Y | Weight -------------- 1 1 1 1 2 1 1 3 1 1 4 1 1 5 1 1 6 1 1 7 1 1 8 1 1 9 1 1 10 1 def _parse(pathToFile): with open(pathToFile) as f: my

我正在从事一个项目,该项目涉及存储在
.txt
文件中的大数据。我的程序运行有点慢。我认为这样做的一个原因是我的程序以一种无效的方式解析文件

文件示例:

X | Y | Weight
--------------

1  1  1
1  2  1
1  3  1
1  4  1
1  5  1
1  6  1
1  7  1
1  8  1
1  9  1
1  10  1
def _parse(pathToFile):
    with open(pathToFile) as f:
    myList = []
    for line in f:
        s = line.split()
        x, y, w = [int(v) for v in s]
        obj = CoresetPoint(x, y, w)
        myList.append(obj)
    return myList
解析器代码:

X | Y | Weight
--------------

1  1  1
1  2  1
1  3  1
1  4  1
1  5  1
1  6  1
1  7  1
1  8  1
1  9  1
1  10  1
def _parse(pathToFile):
    with open(pathToFile) as f:
    myList = []
    for line in f:
        s = line.split()
        x, y, w = [int(v) for v in s]
        obj = CoresetPoint(x, y, w)
        myList.append(obj)
    return myList
这个函数被调用
NumberOfRows/N
次,因为我只解析一小段要处理的数据,直到没有行为止。我的
.txt
是几兆字节

很明显,我在循环中迭代了
NumberOfLines
次,这是一个巨大的瓶颈,而且很糟糕。这就引出了我的问题:

问题:
解析文件的正确方法是什么,最有效的方法是什么,以及如何在
.txt
中以不同的方式组织数据?如果是这样,我应该如何在
文件中组织
数据

在Python中,您有一个名为Pandas的库来执行此操作。通过以下方式导入熊猫数据:

import pandas as pd
df = pd.read_csv('<pathToFile>.txt')
将熊猫作为pd导入
df=pd.read_csv('.txt'))

如果文件太大,无法全部加载到内存中,可以循环部分数据,一次加载一个。这是一篇很好的博客文章,可以帮助你做到这一点。

我不能把整个文件都放在主内存中,因为它太大了,这不会把它放到主内存中吗?是的,这会把它放到内存中。它有多大?如果你真的需要,那么你应该进入分布式的领域,比如Spark的RDD,但这需要一些时间。对数据进行采样怎么样?看看这个问题:,您可以循环部分数据,这样就不会一次将所有数据加载到内存中。