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, ทำให้งานการจัดการข้อมูลมากขึ้นสำหรับผู้ที่ใหม่กับภาษานี้