Python =达人vs熊猫,read_csv中的错误

时间:2019-04-29 12:02:03

标签: python dask

我在使用dask读取文件时遇到错误,该文件适用于pandas:

import dask.dataframe as dd
import pandas as pd
pdf = pd.read_csv("./tous_les_docs.csv")
pdf.shape
(20140796, 7)

而dask给我一个错误:

df = dd.read_csv("./tous_les_docs.csv")
df.describe().compute()
ParserError: Error tokenizing data. C error: EOF inside string starting at line 192999

答案: 添加“ blocksize = None”使其起作用:

df = dd.read_csv("./tous_les_docs.csv", blocksize=None)

1 个答案:

答案 0 :(得分:1)

文档说这可能发生

  

还应注意,如果CSV文件,此功能可能会失败   包括带引号的包含行终止符的字符串。要得到   围绕此,您可以指定blocksize = None不将文件拆分为   多个分区,但以降低并行性为代价。

http://docs.dask.org/en/latest/dataframe-api.html#dask.dataframe.read_csv

Dask似乎通过行终止符将文件切成碎片,但没有从头开始扫描整个文件,以查看行终止符是否在字符串中。