стрелка apache - чтение файла csv

все, что я сейчас работаю со стрелкой apache.

При чтении файла csv с помощью функции arrow :: csv :: TableReader :: Read я хочу прочитать этот файл как файл без заголовка.

Но он читает файл csv и обрабатывает первую строку как заголовок csv (поле данных). Есть ли варианты чтения файла CSV без заголовка?

Спасибо


person makepossible99    schedule 18.01.2019    source источник


Ответы (2)


Посмотрите ParserOptions

int32_t arrow::csv::ParseOptions::header_rows = 1

Его можно определить как третий аргумент в TableReader::Make(...).

static Status   Make(MemoryPool *pool, std::shared_ptr< io::InputStream > input, const ReadOptions &, const ParseOptions &, const ConvertOptions &, std::shared_ptr< TableReader > *out)

Проверьте документацию: https://arrow.apache.org/docs/cpp/namespacearrowParserOptions1csv. html

и эти тестовые файлы: https://github.com/apache/arrow/tree/3cf8f355e1268dd8761b99719ab09cc20d372185/cpp/src/arrow/csv

person lepidop    schedule 18.01.2019

В настоящий момент вы не можете. Вы получите сообщение об ошибке, если header_rows == 0:

if (parse_options_.header_rows == 0) {
    // TODO allow passing names and/or generate column numbers?
    return Status::Invalid("header_rows == 0 needs explicit column names");
}

(https://github.com/apache/arrow/blob/3cf8f355e1268dd8761b99719ab09cc20d372185/cpp/src/arrow/csv/reader.cc)

person Michael    schedule 15.02.2019