#csv #ocaml #data-science
#csv #ocaml #наука о данных
Вопрос:
Исходя из Python data science, я хочу прочитать и обработать большой CSV-файл данных с помощью OCaml, не перенося все это в память.
Ранее я делал это, хотя и как новичок, в F # с помощью пакета CSVHelper, который я мог бы использовать для чтения очень большого файла CSV в Seq
и обработки с такими вещами, как Seq.countBy
, Seq.groupBy
и т.д.
Как бы люди посоветовали мне делать подобные вещи в OCaml?
Комментарии:
1. как насчет ocaml-csv: math.umons.ac.be/anum/software/csv/Csv/index.html ?
2. Да, действительно, я видел только этот пакет. Я немного поработал с этим и попробую еще, но я изо всех сил пытался найти какие-либо примеры того, как перенести это в
Seq
. Кроме того, я не видел ниSeq.countBy
илиSeq.groupBy
в OCaml… может быть, мне просто нужно было бы написать их самому?3. @Robert в пакете oseq реализовано множество функций: github.com/c-cube/oseq . Вы должны уметь использовать, например c-cube.github.io/oseq/0.3/oseq/OSeq/index.html#val-fold для реализации
countBy
/groupBy
.4. @PierreG. разрешает ли файл ocaml-csv «потоковую передачу» — он не загружает весь CSV в память, а только по частям, когда вы, например, запускаете карту в последовательности?