(Python)For循环不会迭代大文本文件中的所有行

时间:2017-04-10 23:50:20

标签: python-3.x

我正在编写一个程序来清理一些时态数据。该计划的目标是获取两个文件,其中包含有关相同时间步骤的不同信息,并将这些信息组合在一起。

程序的第一部分将一个文件转换为二叉搜索树。第二部分查看第一个文件的每一行,提取所需数据,并在同一时间步搜索BST中的数据。

我遇到的问题是,使用print语句,我可以在读取3-4k行文本后告诉for循环结束,而实际上大约有200k行。此外,该程序甚至没有开始第二个for循环。 该程序实际上适用于较小的文本文件,但这不是我所需要的。

以下是我的代码的缩短版本。 Elapsed已定义但未包括在内。

setrecursionlimit(15000)

def extract_bid_ask(bid_file, ask_file):

labels = []
fvecs = []
ask_bst = bst.BinarySearchTree()

with open(ask_file) as file:
    for line in reversed(list(file)):

        row = line.split(',')

        if float(row[2]) != -1.0:
            ask_bst.put(elapsed, [float(row[2]), float(row[5])])


with open(bid_file) as file:
    for line in file:

        row = line.split(',')

        if float(row[2]) != -1.0:           
            asks = ask_bst.get(elapsed)

            if asks is not None:
                fvecs.append([elapsed, float(row[2]), float(row[5]), float(asks[0]), float(asks[1])])
                labels.append(int(row[0]))

0 个答案:

没有答案