相关疑难解决方法(0)

将一个非常大的文本文件读入clojure中的列表

在clojure中将一个非常大的文件(比如每行一个有10万个名字的文本文件)读入一个列表(懒惰地 - 根据需要加载它)的最佳方法是什么?

基本上我需要对这些项进行各种字符串搜索(我现在用shell脚本中的grep和reg ex做).

我尝试在结尾添加'(在开头和结尾),但显然这个方法(加载一个静态?/常量列表,由于某种原因有一个大小限制.

text file clojure

26
推荐指数
3
解决办法
1万
查看次数

使用clojure-csv.core解析一个巨大的csv文件

到目前为止,我有:

(:require [clojure-csv.core :as csv])
(:require [clojure.java.io :as io]))

(def csv-file (.getFile  (clojure.java.io/resource "verbs.csv")))

(defn process-csv [file]
  (with-open  [rdr  (io/reader file)]
    (csv/parse-csv rdr)))
Run Code Online (Sandbox Code Playgroud)

但我得到了java.io.IOException: Stream closed.我正在使用clojure-csv,它暴露了两种方法,我使用的第一种方法,parse-csv文档说:

Takes a CSV as a char sequence or string, and returns a lazy sequence of vectors of strings
Run Code Online (Sandbox Code Playgroud)

我想我知道的with-open是:懒惰,并且rdrin (csv/parse-csv rdr)))是csv文件的单行吗?

PS.我也想搜索文件,重复打开文件是否很昂贵(即使它是懒惰地阅读)并搜索整个内容?

csv clojure bigdata

5
推荐指数
2
解决办法
4455
查看次数

标签 统计

clojure ×2

bigdata ×1

csv ×1

file ×1

text ×1