Currently read_csvy reads the complete file using readLines() - this means it will be slow for large files. I'd recommend (and can possibly help with) writing a C/C++ read_yaml_header() function that would parse from the first --- to the next ---. This metadata could then be used to generate the column specification that's passed to read.csv(), read_csv(), and fread(). (Will probably still need some additional cleanup afterwards).
Currently
read_csvyreads the complete file usingreadLines()- this means it will be slow for large files. I'd recommend (and can possibly help with) writing a C/C++read_yaml_header()function that would parse from the first---to the next---. This metadata could then be used to generate the column specification that's passed toread.csv(),read_csv(), andfread(). (Will probably still need some additional cleanup afterwards).