gpt4 book ai didi

csv - 使用导管csv删除行

转载 作者:行者123 更新时间:2023-12-02 04:24:45 25 4
gpt4 key购买 nike

尝试使用一个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)

最佳答案

因为intoCSV希望在整个文件中流式传输,而不是读取行流,所以您将希望使用可以直接从输入字节串流中解析和删除行的管道,而不是尝试使用行列表。

类似于以下内容的东西应该起作用:

parsePowerCsv bs = do
runConduit $
bs
.| (replicateM_ 4 (lineAsciiC sinkNull) >>
intoCSV defCSVSettings)
.| sinkList -- (dropC 4 >> sinkList)

关于csv - 使用导管csv删除行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55808396/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com