Csv 如何在Haskell中编写此函数
我被要求做一个haskell项目,它需要一个csv,并从中计算每天的平均值 下面是我到目前为止所做的代码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 .
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到可以执行计算的数字列表的操作。