我试图熟悉System.IO和句柄。我只想读取一个csv文件,将逗号分隔的整数行放入列表中,将该列表放入列表中,然后将下一行放入列表中,依此类推,直到文件末尾。我可以读取文件,也可以读取文件的一行,但是我正在努力做出可以做我想做的事情。 CSV文件“ 1.csv”如下所示:
1,2,3,4
4,3,2,1
12,13
到目前为止,我的代码如下。它在“ _-> x:xs”行发现错误。我根本不习惯使用x的情况,所以我可能没有使用这种权利,但是这似乎是一种解决方法。我知道我在做的很多事情都是错误的,但是我不太确定该怎么做。
import System.IO
xs = []
xss = []
readTheLine = do handle <- openFile "1.csv" ReadMode
x <- hGetChar handle
case x of
'\n' -> xs:xss
_ -> x:xs
'' -> putStrLn xss
main = readTheLine
我也很确定''不会发出文件结尾的信号,但是不确定在这里做什么并试图显示我要做什么。