【发布时间】:2019-09-12 11:20:27
【问题描述】:
尝试使用 csv 文件并删除前 4 行,然后继续我的解析:
parsePowerCsv
:: MonadThrow m
=> ConduitT () ByteString m () -> m [PowerFields]
parsePowerCsv bs = do
runConduit $
bs
.| CL.consume
.| (dropC 4 >> intoCSV defCSVSettings)
所以我能够生成Text 的列表,但我希望能够轻松转换为我的PowerFields 类型,因为我有From/To NamedRecord 实例,但我想删除前4 行。
所以在dropC 之后我无法将[Text] 解析为[PowerFields]
data PowerFields =
PowerFields
{ VA_avg :: Maybe Double
, A_avg :: Maybe Double
, Wh_sum :: Maybe Double
...
} deriving (Eq, Show, Read)
【问题讨论】:
-
这个问题可能会有所改善。 stackoverflow.com/help/mcve。您提到删除 4 行或 4 列,是什么?
intoCSV应该努力构建您的自定义类型,您只需要使用getNamed解开它。 -
对不起4“行”! csv 占据了我的大脑