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