Python = dask Vs pandas,read_csv中的错误

问题描述 投票:0回答:1

我在使用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)
python dask
1个回答
1
投票

文档说这可能发生

还应注意,如果CSV文件包含包含行终止符的带引号的字符串,则此函数可能会失败。为了解决这个问题,你可以指定blocksize = None来不将文件拆分成多个分区,代价是降低了并行性。

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

似乎Dask通过行终结符以块的形式切割文件但不从头开始扫描整个文件,以查看行终止符是否在字符串中。

© www.soinside.com 2019 - 2024. All rights reserved.