在haskell中创建csv文件
我怀疑这是一个有点棘手的问题 因此,我有一个列表在haskell中创建csv文件,csv,haskell,Csv,Haskell,我怀疑这是一个有点棘手的问题 因此,我有一个列表myList,我想使用cassava库将其写入csv文件: import qualified Data.ByteString.Lazy as BL import qualified Data.Vector as V import Data.Csv main = BL.writeFile "myFileLocation" (encode $ V.fromList myList) 据我所知,encode有typeToRecord a=>Vector
myList
,我想使用cassava库将其写入csv文件:
import qualified Data.ByteString.Lazy as BL
import qualified Data.Vector as V
import Data.Csv
main = BL.writeFile "myFileLocation" (encode $ V.fromList myList)
据我所知,encode有typeToRecord a=>Vector a->ByteString
,但我得到了以下错误:
Couldn't match expected type `[a0]'
with actual type `V.Vector (a,b,c,d)'
In the return type of a call of `V.fromList'
In the second argument of `($)', namely `V.fromList myList'
In the second argument of `BL.writeFile', namely
`(encode $ V.fromList myList)'
我糊涂了
mylist
的类型是什么?还有类型ToRecord a=>[a]->ByteString
,而不是Vector a->ByteString
。你在看什么版本的木薯?他们从Vector
s切换到0.3版的列表,这是最新版本。感谢您发现错误的类型签名,我已经更新了主要问题。myList是我的问题域中的一个元组:myList:[(Int,Int,Float)]
正如我的第二条评论所指出的,您看到的文档版本是错误的。您根本不需要使用Data.Vector
,只需使用encode myList
而不是encode$V.fromList myList
。