Share via


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