Html.Table ใช้สำหรับแยกข้อมูลจากตารางหรือรายการในเอกสาร HTML โดยใช้ CSS selectors เพื่อกำหนดตำแหน่งและคอลัมน์
| อาร์กิวเมนต์ | ชนิด | ค่าเริ่มต้น | คำอธิบาย |
|---|---|---|---|
| html | any | เอกสาร HTML ที่ต้องการแยกข้อมูล (สามารถเป็น text หรือ binary) | |
| columnNameSelectorPairs | list | รายการ (list) ของ {“ชื่อคอลัมน์”, “CSS selector”} หรือ {“ชื่อคอลัมน์”, “CSS selector”, transformation function} เพื่อกำหนดว่าจะแยกข้อมูลตรงไหนและตั้งชื่อคอลัมน์อย่างไร | |
| [options]ไม่บังคับ | record | null | ตัวเลือกเพิ่มเติม เช่น [RowSelector=”.row”] เพื่อกำหนด CSS selector สำหรับแถว (rows) |
[ ] = อาร์กิวเมนต์ที่ไม่บังคับ
Html.Table เป็นฟังก์ชันที่ดีเมื่อคุณต้องการ Web Scraping – ดึงข้อมูลจากหน้า HTML กลับมาเป็น Table ในที่แรม Power Query ก็คือการสร้าง Table จากข้อมูล HTML ด้วยการระบุชื่อคอลัมน์ (Name) และ CSS Selector (ตำแหน่งของข้อมูลที่ต้องการ)
ส่วนที่เจ๋งของฟังก์ชันนี้คือสามารถดึง attributes เช่น href, src ได้ด้วย โดยใช้ [Attributes] เพื่อเข้าถึง properties ของ HTML elements
ส่วนตัวผม มักใช้ Html.Table เมื่อเจอ API ที่ return HTML แทน JSON ครับ ทำให้เปลี่ยน HTML โครงสร้าง schema ไม่ทำให้ query พัง เหมือนกับ JSON ขอให้ชื่อ key เปลี่ยน 😎
ใช้ Html.Table ดึงข้อมูลจาก HTML โดยระบุ CSS selector .name สำหรับคอลัมน์ Name และ .role สำหรับคอลัมน์ Role ทำให้ได้ตารางข้อมูลที่มีโครงสร้างสำเร็จ
ใช้ transformation function (each [Attributes][href]) เพื่อดึง href attribute จาก element <a> แล้วใช้ RowSelector="a" เพื่อกำหนดว่าแต่ละแถวคือ element <a>
นี่คือตัวอย่างจริงจังที่ดึงข้อมูลจาก URL โดย Web.BrowserContents ก่อน แล้วใช้ Html.Table สกัดข้อมูลผลิตภัณฑ์ ราคา และ links – ประเมินว่า HtmlContent เป็น HTML string ที่ได้จากเพจ
Web.Page auto-detect ตารางใน HTML แล้วคืนข้อมูลอัตโนมัติ แต่ Html.Table ให้คุณควบคุมได้มากขึ้นด้วย CSS selectors ที่ชัดเจน
ใช้ได้เท่ากับ CSS selectors มาตรฐาน เช่น .classname, #id, element, [attribute], parent > child ฯลฯ
ได้ Web.BrowserContents return HTML content ซึ่ง Html.Table สามารถ parse ได้
คอลัมน์นั้นจะมีค่า null หรือเปล่า ไม่ raise error
ฟังก์ชันที่ผู้เขียนโยงไว้กับ Html.Table จัดกลุ่มตามหมวด · ชี้ที่ชื่อใดชื่อหนึ่ง แล้วฟังก์ชันที่ใช้คู่กันจะมีจุดทอง
Web.BrowserContents ใช้สำหรับการประมวลผล
Web.Page ใช้สำหรับการประมวลผล
แปลง List เป็น Table โดยใช้ฟังก์ชัน Splitter เพื่อแยกข้อมูลเป็นคอลัมน์
Text.Split(text, separator) ใช้แยกข้อความเป็น List โดยอิงตามตัวคั่น (delimiter) ที่ระบุ สามารถใช้ตัวคั่นเพียงตัวเดียวหรือหลายตัวอักษร เช่น "|" หรือ ", the " ผลลัพธ์คืนค่าเป็น List ของข้อความ
ยังไม่มีบทความที่เกี่ยวข้องกับฟังก์ชันนี้
Comments
อีเมลของคุณจะไม่ถูกเผยแพร่