Большое количество CSV-файлов с переменной длиной столбца с использованием Dask - PullRequest
0 голосов
/ 27 апреля 2020

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

Я знаю, что такие пакеты, как d6tstack (как подробно описано здесь) , могут помочь справиться с этим, но есть ли способ исправить это, не устанавливая дополнительные библиотеки и не занимая больше места на диске?

1 Ответ

0 голосов
/ 27 апреля 2020

Если вы используете from_delayed, то вы можете создать функцию, которая предварительно обрабатывает каждый из ваших входных файлов так же, как вы можете sh. Это совершенно произвольно, поэтому вы можете решить проблему, используя собственный код или любой пакет, который вы хотите установить в кластере.

@dask.delayed
def read_a_file(filename):
    df = pd.read_csv(filename). # or remote file
    do_something_with_columns
    return df_out

df = dd.from_delayed([read_a_file(f) for f in filenames], meta=...)
...