Enumeration type ที่ระบุว่าเครื่องหมายคำพูด (quote) ในไฟล์ CSV จะมีความสำคัญเมื่อไหร่ ใช้กับ Csv.Document เพื่อควบคุมการแยกวิเคราะห์ข้อมูล
| อาร์กิวเมนต์ | ชนิด | คำอธิบาย |
|---|---|---|
| [CsvStyle.QuoteAfterDelimiter]ไม่บังคับ | number (0) | เครื่องหมายคำพูดมีความสำคัญเฉพาะหลังตัวคั่น (delimiter) เท่านั้น เป็นค่าเริ่มต้น |
| [CsvStyle.QuoteAlways]ไม่บังคับ | number (1) | เครื่องหมายคำพูดมีความสำคัญทุกที่ในช่อง ไม่ว่าจะอยู่ตรงไหนก็ตาม |
[ ] = อาร์กิวเมนต์ที่ไม่บังคับ
เวลาที่ผมต้อง Import ไฟล์ CSV ที่มี quote characters ฝังอยู่ในข้อมูล ผมต้องบอก Power Query ว่าจะให้มันสนใจ quote ตรงไหน CsvStyle.Type คือตัวเลือกที่ใช้บอก Power Query ว่า quote มีความหมายเมื่อไหร่ ทำให้การอ่านข้อมูล CSV แม่นยำมากขึ้นครับ
ที่เจ๋งคือ CsvStyle.Type มีค่าสองแบบ: QuoteAfterDelimiter (ค่าเริ่มต้น) ที่สนใจ quote เฉพาะหลัง delimiter และ QuoteAlways ที่สนใจ quote ทุกที่ ทำให้แก้ปัญหา CSV ที่ format ไม่ standard ได้ดีเลย
ส่วนตัวผม ผมมักจะเริ่มด้วย QuoteAfterDelimiter (default) ก่อน ถ้า data มี quote ที่แปลกๆ เกิดขึ้นจนข้อมูลผิด ผมจะลอง QuoteAlways เพื่อดูว่าแบบไหนให้ผลที่ดีกว่า 😎
ผม Import CSV ที่มี quote อยู่หลัง comma นะครับ ด้วย QuoteAfterDelimiter มันจะทำงานดีตามปกติ
เวลา quote ปรากฏทุกที่ ผม ใช้ QuoteAlways เพื่อให้ Power Query จัดการ quote ได้ถูกต้อง
ผม เลือก QuoteAfterDelimiter จะอ่าน quote ตรงกลางเป็นตัวอักษรปกติ แต่ QuoteAlways จะตีความว่าเป็น escaped quote
ไม่จำเป็นครับ ส่วนใหญ่ QuoteAfterDelimiter (ค่าเริ่มต้น) ก็พอดี ผม ใช้เฉพาะเวลา CSV มี quote แปลกๆ ที่ไม่ follow standard CSV format
QuoteAfterDelimiter ให้ quote มีความสำคัญเฉพาะหลัง delimiter (เช่น comma) เท่านั้น ส่วน QuoteAlways ให้ quote มีความสำคัญทุกที่ ผม ใช้ QuoteAlways เวลา CSV format ของข้อมูลแปลกๆ
ข้อมูลอาจจะ parse ผิด เช่น quote ที่ควรจะ escaped กลายเป็นตัวอักษรปกติ หรือตัวอักษรปกติกลายเป็น quote ผม แนะนำว่าให้ลองทั้งสองแบบแล้วดู preview ว่าแบบไหนให้ผลที่ถูกต้อง
ฟังก์ชันที่ผู้เขียนโยงไว้กับ CsvStyle.Type จัดกลุ่มตามหมวด · ชี้ที่ชื่อใดชื่อหนึ่ง แล้วฟังก์ชันที่ใช้คู่กันจะมีจุดทอง
Csv.Document แปลงข้อมูลรูปแบบ CSV (Comma-Separated Values) ให้เป็นตารางข้อมูล (table) ใน Power Query โดยรองรับการกำหนดตัวแบ่งข้อมูล (delimiter), รหัสภาษา (encoding) และโครงสร้างคอลัมน์ (column structure) แบบต่างๆ ได้ตามความต้องการ function นี้สามารถแยกวิเคราะห์ทั้งข้อมูลแบบ binary content ที่ได้จาก File.Contents และข้อความแบบ text string ที่ได้จาก Web.Contents พร้อมจัดการข้อความที่ครอบด้วย quote ตามมาตรฐานสากล CSV standard เหมาะสมสำหรับการนำเข้าไฟล์ CSV จากระบบไฟล์ในเครื่อง (local), ที่อยู่เว็บไซต์ (URL) หรือการตอบกลับจาก API (API response) ที่มีตัวแบ่งข้อมูลแบบกำหนดเอง (custom delimiter), เนื้อหาภาษาต่างประเทศ หรือโครงสร้างพิเศษที่ต้องการการควบคุมเฉพาะ คืนค่าออกมาเป็นตารางที่ทุกคอลัมน์มีประเภทข้อมูลเป็นข้อความ (text type) ควรใช้ร่วมกับ Table.PromoteHeaders เพื่อยกแถวแรกขึ้นเป็นหัวตาราง และ Table.TransformColumnTypes เพื่อแปลงประเภทข้อมูลให้เหมาะสมกับการใช้งาน
ยังไม่มีบทความที่เกี่ยวข้องกับฟังก์ชันนี้
Comments
อีเมลของคุณจะไม่ถูกเผยแพร่