Python = dask Vs pandas, ошибка в read_csv - PullRequest
0 голосов
/ 29 апреля 2019

У меня ошибка при чтении файла с dask, который работает с пандами:

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 Ответ

1 голос
/ 29 апреля 2019

В документации говорится, что это может произойти

Следует также отметить, что эта функция может завершиться ошибкой, если CSV-файл содержит строки в кавычках, содержащие терминатор строки.Чтобы обойти это, вы можете указать blockize = None, чтобы не разбивать файлы на несколько разделов, за счет уменьшения параллелизма.

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

Кажется, что Dask прерывает файл вфрагменты по разделителю строки, но без сканирования всего файла с самого начала, чтобы увидеть, находится ли разделитель строки в строке.

...