簡體   English   中英

如何正確加載 csv 文件到 Dask?

[英]How do you load csv file to Dask properly?

我不知道如何使用 Dask 加載 CSV 文件。

我有數百個需要一次加載的 CSV 文件。 使用 pandas 加載不起作用,因為它非常大並且需要大量 RAM 才能做到這一點。

import dask.dataframe as dd
all_ddf = dd.read_csv("path/part-*", header=None, blocksize="10MB")

上面的代碼可以運行得很好,沒有遇到任何錯誤。 但是當我嘗試執行一個非常簡單的命令時,它會立即出錯。

all_ddf.head()

ValueError:在pd.read_csv / pd.read_table

+--------+--------+----------+ | 專欄 | 發現 | 預期 | +--------+--------+----------+ | 1 | object | 浮動64 | | 2 | object | 浮動64 | | 4 | object | 整數64 | +--------+--------+----------+

以下列還引發了轉換異常:

  • 1 ValueError(“無法將字符串轉換為浮點數:'\\N'”,)
  • 2 ValueError("無法將字符串轉換為浮點數:'\\N'",)
  • 4 ValueError("invalid literal for int() with base 10: '26023,26022'",)

通常這是由於 dask 的 dtype 推斷失敗,並且可以通過添加手動指定 dtypes 來修復:

dtype={1: '對象', 2: '對象', 4: '對象'}

read_csv / read_table的調用。

我不知道我做錯了什么。 而且我不熟悉 Dask 以了解出了什么問題。 我不知道這是否是使用 python 加載 csv 文件的正確方法。

您的問題的答案在 Dask 提供的錯誤消息中

通常這是由於 dask 的 dtype 推斷失敗,並且可以通過添加手動指定 dtypes 來修復:

dtype={1: 'object', 2: 'object', 4: 'object'}

對 read_csv/read_table 的調用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM