Haskell:
การทำงานกับ CSV
การทำ:
ใน Haskell, การจัดการไฟล์ CSV สามารถทำได้โดยใช้ cassava
library, ซึ่งเป็นหนึ่งในไลบรารีฝ่ายที่สามที่นิยมสำหรับวัตถุประสงค์นี้ ด้านล่างเป็นตัวอย่างที่แสดงวิธีการอ่านจากและเขียนไปยังไฟล์ CSV โดยใช้ cassava
.
1. การอ่านไฟล์ CSV:
ขั้นแรก, ตรวจสอบว่าคุณมี cassava
ติดตั้งโดยการเพิ่มมันไปยังไฟล์ cabal ของโปรเจคหรือใช้ Stack.
นี่เป็นตัวอย่างง่ายๆ ในการอ่านไฟล์ CSV และพิมพ์แต่ละระเบียน สมมติว่าไฟล์ CSV มีสองคอลัมน์: ชื่อและอายุ
{-# LANGUAGE OverloadedStrings #-}
import Data.Csv
import qualified Data.ByteString.Lazy as BL
import qualified Data.Vector as V
main :: IO ()
main = do
csvData <- BL.readFile "people.csv"
case decode NoHeader csvData of
Left err -> putStrLn err
Right v -> V.forM_ v $ \(name, age) ->
putStrLn $ name ++ " อายุ " ++ show (age :: Int) ++ " ปี."
สมมติว่า people.csv
มีข้อมูล:
John,30
Jane,25
ผลลัพธ์จะเป็น:
John อายุ 30 ปี.
Jane อายุ 25 ปี.
2. การเขียนไฟล์ CSV:
เพื่อสร้างไฟล์ CSV, คุณสามารถใช้ฟังก์ชัน encode
จาก cassava
.
นี่คือวิธีที่คุณสามารถเขียนรายการของระเบียนลงในไฟล์ CSV:
{-# LANGUAGE OverloadedStrings #-}
import Data.Csv
import qualified Data.ByteString.Lazy as BL
main :: IO ()
main = BL.writeFile "output.csv" $ encode [("John", 30), ("Jane", 25)]
หลังจากที่รันโปรแกรมนี้, output.csv
จะมีข้อมูล:
John,30
Jane,25
การแนะนำอย่างกระชับนี้เกี่ยวกับการทำงานกับไฟล์ CSV ใน Haskell โดยใช้ cassava
library แสดงวิธีทั้งการอ่านจากและเขียนไปยังไฟล์ CSV, ทำให้งานการจัดการข้อมูลมากขึ้นสำหรับผู้ที่ใหม่กับภาษานี้