将csv读入多个数据帧

时间:2016-05-03 08:45:13

标签: python csv large-files

我有一个非常大的csv文件(8GB +)。我想使用该csv文件中的数据进行培训,测试和交叉验证集。如何将csv文件随机读入多个数据帧?我使用的是Python 3。

2 个答案:

答案 0 :(得分:1)

关键点是随机。 CSV通过换行符分隔记录。如果你在readed之前无法知道记录的长度,则应该通过技巧而不是完全随机来完成随机。

var scrolledCallBlock: ((int) -> Void)?

答案 1 :(得分:1)

  1. 首先计算csv文件中的行数。(有很多方法可以执行此操作,stackoverflow已经有很多相关问题。)然后,创建一个包含indices = range(num_lines)

    <的列表/ LI>
  2. 随机选择一组线索引。例如,您可以使用your_selected_lineindices = random.sample(indices, 10000)

  3. 使用以下代码示例:

    with open("file") as fp:
        for i, line in enumerate(fp):
            if i in your_selected_lineindices:
                do_something_with(line)
    
  4. 此代码不会溢出您的记忆。 原始代码来自此处:https://stackoverflow.com/a/2081880/3279996