【问题标题】:Reading a huge .csv file in Jupyter Notebook在 Jupyter Notebook 中读取一个巨大的 .csv 文件
【发布时间】:2020-08-07 03:37:52
【问题描述】:

我正在尝试从 Jupyter Notebook (Python) 中的 .csv 文件中读取数据

.csv 文件大小为 8.5G,7000 万行,30 列

当我尝试读取 .csv 文件时,出现错误。

下面是我的代码

import pandas as pd

log = pd.read_csv('log_20100424.csv', engine = 'python')

我也尝试过使用 pyarrow,但是没有用。

import pandas as pd
from pyarrow import csv`

log = csv.read('log_20100424.csv').to_pandas()

我的问题是:

如何在 Jupyter Notebook 中读取一个巨大的 (8.5G) .csv 文件

还有其他方法可以读取巨大的 .csv 文件吗?

我的笔记本电脑有 8gb 内存,运行 64 位 Windows 10 和 i5-8265U 1.6Ghz。

【问题讨论】:

  • 查看dask。它是一个库,允许您通过懒惰地评估工作并仅加载您可以在计算机上处​​理的内容,在小型计算机上处​​理大数据。除了将 CSV 分块之外,没有其他方法可以加载具有
  • 你能发布你得到的错误吗?
  • pyarrow 如果您消除对 pandas 的依赖会很有帮助,pandas 会导致您的计算机崩溃。即使您能够读取它,您也无法使用计算机当前的内存查询数据。作为替代的长期解决方案;您应该使用后端数据库或 apache spark 在您的计算机上运行它,否则您将需要更好的硬件或临时云服务

标签: python pandas csv jupyter-notebook pyarrow


【解决方案1】:

即使 Pandas 可以处理海量数据,Jupyter Notebook 也不能。要读取巨大的 CSV 文件,您需要分块工作。我遇到了类似的情况,Jupyter Notebook 内核会死掉,我不得不重新开始。试试这个 -

【讨论】:

  • 最好将代码发布为文本,而不是图像。即使您发布图像,代码也会很高兴。
  • @Magiczne 是的,谢谢你的建议。这是我第一次发帖,所以我是这里的菜鸟。我想用它更详细地显示输出,因为我自己只是通过盲目地输入解决问题时遇到的代码来面对问题。因此,如果我知道如何显示输出,它将帮助我更好地理解。这就是我发布图片的原因。
猜你喜欢
  • 2018-10-17
  • 2021-05-29
  • 2021-06-16
  • 2021-10-09
  • 1970-01-01
  • 2016-11-26
  • 1970-01-01
相关资源
最近更新 更多