Csv 如何在Haskell中编写此函数

Csv 如何在Haskell中编写此函数,csv,haskell,Csv,Haskell,我被要求做一个haskell项目,它需要一个csv,并从中计算每天的平均值 下面是我到目前为止所做的代码 main :: IO () main = someFunc rawData :: IO [[[Char]]] rawData = readFile "dataexport.csv" >>= return . lines >>= return . drop 10 >>= return .

我被要求做一个haskell项目,它需要一个csv,并从中计算每天的平均值

下面是我到目前为止所做的代码

main :: IO ()
main = someFunc

rawData :: IO [[[Char]]]
rawData = readFile "dataexport.csv" >>= 
    return . lines >>=
        return . drop 10 >>=
            return . map (K.splitOneOf "T,")
样本数据:

地点:吉隆坡 拉脱维亚,2.99990 朗,101.71875 asl,130.207 变温 单位:摄氏度 标高,2 m标高已纠正 分辨率,每小时 聚合,无 时间戳,吉隆坡温度[2米海拔校正] 20200511T0000,25.952345 20200511T0100,25.802345 20200511T0200,25.732346 20200511T0300,25.632345 20200511T0400,25.562346 20200511T0500,25.492346 20200511T0600,25.372345 20200511T0700,25.222345 20200511T0800,26.492346 20200511T0900,27.092346 20200511T1000,27.502346 202005111100,28.112345 20200511T1200,28.382345 20200511T1300,28.582346 20200511T1400,29.142345 20200511T1500,29.072346 202005111600,28.892345 202005111700,28.632345 20200511T1800,28.542345 20200511T1900,28.152346 20200511T2000,27.512346 20200511T2100,27.212345 20200511T2200,26.832346 20200511T2300,26.542345 20200512T0000,26.282345 20200512T0100,25.962345 20200512T0200,25.682346 20200512T0300,25.492346 20200512T0400,25.372345 20200512T0500,25.242346 20200512T0600,25.082346 20200512T0700,24.822346 20200512T0800,26.202345 20200512T0900,28.192345 20200512T1000,29.152346 20200512T1100,30.122345 20200512T1200,29.362345 20200512T130029.182346 20200512T140029.072346 20200512T1500,28.902346 20200512T1600,28.772346 20200512T1700,28.582346 20200512T1800,28.922346 20200512T1900,28.322346 20200512T2000,27.352346 20200512T2100,27.122345 20200512T2200,26.872345
20200512T2300,26.572346

您希望代码做什么?相反会发生什么?将
IO
代码与解析代码分离,然后将解析代码拆分为每个步骤的单独函数会很有帮助。然后,您可以增量测试从CSV到可以执行计算的数字列表的操作。