-2

我现在正在使用 apache arrow。

使用 arrow::csv::TableReader::Read 函数读取 csv 文件时,我想将此文件作为没有标题的文件读取。

但是,它读取 csv 文件并将第一行视为 csv 标头(数据字段)。是否有任何选项可以读取没有标题的 csv 文件?

谢谢

4

2 回答 2

1

查看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/namespacearrow_1_1csv.html

和这些测试文件: https ://github.com/apache/arrow/tree/3cf8f355e1268dd8761b99719ab09cc20d372185/cpp/src/arrow/csv

于 2019-01-18T12:13:48.390 回答
0

你暂时不能。如果 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

于 2019-02-15T16:57:22.587 回答