0
私のコードは以下の通りです。データがランダムな順序で出力されるようですが、NamedRecord
はちょうどMap
なので意味があります。特定の注文を強制する方法はありますか?NamedRecordsを使用してconduit-CSVの列の順序を設定できますか?
1つのオプションは、タイプConduit (Named a) m (Row Text)
のコンジットを作成することですが、これは、何か標準が既に存在するはずの一般的な使用例であるようです。
processor :: Monad m => Conduit (Named FalconRow) m (Named HefRow)
processor = do
value <- await
case value of
Nothing -> return()
Just v -> do
let transformed = (fixRow . getNamed) v
CL.sourceList $ Prelude.map Named transformed
runTranslation :: IO()
runTranslation = runResourceT $
transformCSV defCSVSettings
(sourceFile "input.csv")
processor
(sinkFile "output.csv")