Clojure-逐行读取使用不同字符换行的大文件
我需要逐行读取大型csv文件。我唯一的问题是该文件没有使用换行符,而是使用字符2。因此,我需要的是一些lineClojure-逐行读取使用不同字符换行的大文件,clojure,Clojure,我需要逐行读取大型csv文件。我唯一的问题是该文件没有使用换行符,而是使用字符2。因此,我需要的是一些lineline seq,但能够指定换行字符。我对用例感兴趣;) 所以我建立了一个快速的图书馆,希望能完成这项工作 基本上由2个测试用例解释,因此将它们复制粘贴到此处: 使用文件test.txt thisisaline 2thisisanotherline2thisisathirdline 这使得: (deftest test-with-special-line-ending-char-ha
line seq
,但能够指定换行字符。我对用例感兴趣;)
所以我建立了一个快速的图书馆,希望能完成这项工作
基本上由2个测试用例解释,因此将它们复制粘贴到此处:
使用文件test.txt
thisisaline 2thisisanotherline2thisisathirdline
这使得:
(deftest test-with-special-line-ending-char-has-3-lines
(let [
rdr (custom.java.BufferedReader. (java.io.FileReader. "resources/test.txt") \2)
]
(is (= 3 (count (line-seq2 rdr))))))
并使用常规文件:
this is
counted
as
only one line
这给
(deftest test-with-normal-line-endings (let [
rdr (custom.java.BufferedReader.
(java.io.FileReader. "resources/test2.txt") \2)
]
(is (= 1 (count (line-seq2 rdr))))))
让我们看看这是否通过了您的大型csv测试。clojure使用的是不直接提供该功能的,您必须基于读取或搜索一些第三方库检查字符序列的实现,对您的需求进行修改应该是直接的。