【问题标题】:How to open large fiile (9gb) using python?如何使用python打开大文件(9gb)?
【发布时间】:2016-08-31 06:48:50
【问题描述】:

我需要分析数据,但文件为 9Gb。当我尝试打开它时,Python 被中断并返回 MemoryError

data = pd.read_csv("path.csv") 有什么办法可以解决这个问题还是我应该删除这个文件?

【问题讨论】:

  • 是否需要打开整个文件?您可以将chunksize 参数传递给read_csv,这将一次返回一个块,您是否使用64 位python、操作系统等
  • 它包含什么样的数据?也许一两条样本线会有所帮助。您需要其中的所有数据,还是只需要其中的一个子集?你的系统有多少内存?您是否尝试过此文件的 1 GB 子集?你有 64 位操作系统吗?哪个操作系统?
  • 如果您将文件用作生成器(open(file) as f: for line in f),那么您不必一次上传,并且可以迭代地执行某些操作.我不认为你将能够使用 pandas,因为它假设你可以将文件放入内存
  • windows 64. 我需要这个文件中的所有数据。我有免费的 793 GB。我有 4 列
  • 文件大小为 1.5GB

标签: python csv pandas


【解决方案1】:

正如 EdChum 所提到的,我使用 chunksize=n 以块的形式打开大文件,然后遍历这些块以执行您需要的任何操作。在每个“块”数据中指定您想要的行数,并按如下方式打开:

chunks = 100000
data = pd.read_csv("path.csv", chunksize=chunks)
for chunk in data:
    print "something"

希望这会有所帮助:)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-07
    • 2014-06-27
    • 2016-03-27
    • 1970-01-01
    • 2014-12-03
    • 2016-08-06
    相关资源
    最近更新 更多