แชร์ผ่าน


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"]
})