อ่านในภาษาอังกฤษ

แชร์ผ่าน


Csv.Document

ไวยากรณ์

 
Csv.Document(source as any, optional columns as any, optional delimiter as any, optional extraValues as nullable number, optional encoding as nullable number) as table

เกี่ยวกับ

แสดงเนื้อหาของเอกสาร CSV เป็นตาราง

  • columns อาจเป็นค่าว่าง จํานวนของคอลัมน์ รายการของชื่อคอลัมน์ ชนิดตาราง หรือเรกคอร์ดตัวเลือก
  • delimiter อาจเป็นอักขระเดี่ยว รายการอักขระ หรือค่า ""ซึ่งระบุว่าควรแยกแถวตามอักขระช่องว่างที่อยู่ติดกัน ค่าเริ่มต้น: ","
  • โปรดดู ExtraValues.Type สําหรับค่าที่รองรับของ extraValues
  • encoding ระบุชนิดการเข้ารหัสข้อความ

ถ้ามีการระบุเรกคอร์ดสําหรับ columns (และ delimiter, extraValuesและ encoding เป็น null) อาจได้รับเขตข้อมูลเรกคอร์ดต่อไปนี้:

  • Delimiter: ตัวคั่นคอลัมน์อักขระเดียว ค่าเริ่มต้น: ","
  • Columns: อาจเป็น null จํานวนของคอลัมน์ รายการของชื่อคอลัมน์ หรือชนิดตาราง ถ้าจํานวนคอลัมน์ต่ํากว่าจํานวนที่พบในข้อมูลป้อนเข้า คอลัมน์เพิ่มเติมจะถูกละเว้น ถ้าจํานวนคอลัมน์สูงกว่าจํานวนที่พบในข้อมูลป้อนเข้า คอลัมน์เพิ่มเติมจะเป็นค่าว่าง เมื่อไม่ได้ระบุ จํานวนคอลัมน์จะถูกกําหนดโดยสิ่งที่พบในข้อมูลป้อนเข้า
  • Encoding: การเข้ารหัสข้อความของไฟล์ ค่าเริ่มต้น: 65001 (UTF-8)
  • CsvStyle: ระบุวิธีการจัดการข้อความอ้างอิง
    • CsvStyle.QuoteAfterDelimiter (ค่าเริ่มต้น): ข้อความอ้างอิงในเขตข้อมูลจะมีความสําคัญทันทีหลังจากตัวคั่น
    • CsvStyle.QuoteAlways: ข้อความอ้างอิงในเขตข้อมูลจะมีความสําคัญเสมอ โดยไม่คํานึงถึงตําแหน่งที่ปรากฏ
  • QuoteStyle: ระบุวิธีการจัดการตัวแบ่งบรรทัดที่อ้างถึง
    • QuoteStyle.Csv (ค่าเริ่มต้น): ตัวแบ่งบรรทัดที่อ้างถึงจะถือว่าเป็นส่วนหนึ่งของข้อมูล ไม่ใช่จุดสิ้นสุดของแถวปัจจุบัน
    • QuoteStyle.None: ตัวแบ่งบรรทัดทั้งหมดจะถือว่าเป็นจุดสิ้นสุดของแถวปัจจุบัน แม้ว่าจะเกิดขึ้นภายในค่าที่อ้างอิง

ตัวอย่าง 1

ประมวลผลข้อความ CSV พร้อมส่วนหัวของคอลัมน์

การใช้งาน

let
    csv = Text.Combine({"OrderID,Item", "1,Fishing rod", "2,1 lb. worms"}, "#(cr)#(lf)")
in
    Table.PromoteHeaders(Csv.Document(csv))

เอาท์พุท

Table.FromRecords({
    [OrderID = "1", Item = "Fishing rod"],
    [OrderID = "2", Item = "1 lb. worms"]
})

ตัวอย่าง 2

ประมวลผลข้อความ CSV ด้วยอักขระตัวคั่นหลายตัว ในตัวอย่างนี้ พารามิเตอร์ที่สามระบุรูปแบบ #|# ตัวคั่นที่จะใช้แทนค่าเริ่มต้น

การใช้งาน

let
    csv = Text.Combine({"OrderID#|#Color", "1#|#Red", "2#|#Blue"}, "#(cr)#(lf)")
in
    Table.PromoteHeaders(Csv.Document(csv, null, "#|#"))

เอาท์พุท

Table.FromRecords({
    [OrderID = "1", Color = "Red"],
    [OrderID = "2", Color = "Blue"]
})