รวมไฟล์ CSV

ในPower Query คุณสามารถรวมหลายไฟล์จากแหล่งข้อมูลที่ให้ไว้ได้ บทความนี้อธิบายวิธีการใช้งานเมื่อไฟล์ที่คุณต้องการรวมเป็นไฟล์ CSV ข้อมูลเพิ่มเติม: รวมภาพรวมของไฟล์

เคล็ดลับ

คุณสามารถติดตามตัวอย่างนี้ โดยการดาวน์โหลดไฟล์ตัวอย่างที่ใช้ในบทความนี้จาก ลิงก์ดาวน์โหลดนี้ คุณสามารถวางไฟล์เหล่านั้นในแหล่งข้อมูลที่คุณเลือก เช่น โฟลเดอร์ภายในเครื่อง, โฟลเดอร์ SharePoint, ที่เก็บข้อมูล Azure Blob, Azure Data Lake Storage หรือแหล่งข้อมูลอื่น ๆ ที่มีมุมมองระบบของไฟล์

เพื่อความง่าย ตัวอย่างในบทความนี้ใช้ตัวเชื่อมต่อโฟลเดอร์ ข้อมูลเพิ่มเติม: โฟลเดอร์

เกี่ยวกับไฟล์ตัวอย่างที่ใช้

หากต้องการรวมไฟล์ สิ่งเหล่านั้นมีโครงสร้างเดียวกันและส่วนขยายเดียวกัน ไฟล์ทั้งหมดที่ใช้ในตัวอย่างนี้มีโครงสร้างและส่วนขยายเดียวกัน (.csv)

มีไฟล์ CSV 12 ไฟล์ หนึ่งไฟล์ต่อหนึ่งเดือนในปีปฏิทิน พ.ศ. 2019 รูปภาพต่อไปนี้แสดง 15 แถวแรกของไฟล์ในช่วงเดือนมกราคม

ไฟล์ CSV ตัวอย่างเดือนมกราคม 2019 ที่แสดงส่วนส่วนหัวและข้อมูลที่เหลือ ซึ่งคั่นด้วยเครื่องหมายจุลภาคทั้งหมด

จํานวนแถวแตกต่างกันไปตามไฟล์ไปยังไฟล์ แต่ไฟล์ทั้งหมดมีส่วนส่วนหัวในสี่แถวแรก ตารางมีส่วนหัวของคอลัมน์ในแถวที่ห้า และข้อมูลของตารางจะเริ่มต้นในแถวที่หกและต่อเนื่องผ่านแถวที่ตามมาทั้งหมด

เป้าหมายคือการรวมไฟล์ 12 ไฟล์ทั้งหมดลงในตารางเดียว ตารางที่รวมกันนี้มีแถวส่วนหัวที่ด้านบนของตาราง และรวมถึงชื่อแหล่งที่มา วันที่ ประเทศ หน่วย และข้อมูลรายได้ของทั้งปีในคอลัมน์แยกต่างหากหลังจากแถวส่วนหัว

ตัวอย่างตารางรวมขั้นสุดท้าย

การแสดงตัวอย่างตาราง

เมื่อเชื่อมต่อกับโฟลเดอร์ที่โฮสต์ไฟล์ที่คุณต้องการรวมในตัวอย่างนี้ ชื่อของโฟลเดอร์นั้นคือ ไฟล์ CSV จะแสดงขึ้นกล่องโต้ตอบการแสดงตัวอย่างตาราง ซึ่ง — — จะแสดงเส้นทางโฟลเดอร์ของคุณที่มุมบนซ้าย การแสดงตัวอย่างข้อมูลแสดงมุมมองระบบของไฟล์

แสดงตัวอย่างตารางเพื่อดูไฟล์มุมมองระบบ

ในตัวอย่างนี้ เลือก รวม

หมายเหตุ

ในสถานการณ์อื่น คุณอาจเลือกแปลง ข้อมูล เพื่อกรองเพิ่มเติม และแปลงข้อมูลของคุณก่อนที่จะรวมไฟล์ แ นะ นให้เลือกรวม เฉพาะเมื่อคุณแน่ใจว่าโฟลเดอร์มีเฉพาะไฟล์ที่คุณต้องการรวม

กล่องโต้ตอบรวมไฟล์

หลังจากที่คุณ เลือก รวมในการแสดงตัวอย่างตาราง กล่องโต้ตอบ รวมไฟล์จะปรากฏขึ้น

กล่องโต้ตอบรวมไฟล์

หมายเหตุ

Power Queryตรวจหาตัวเชื่อมต่อที่จะใช้ตามไฟล์แรกที่พบในรายการโดยอัตโนมัติ เมื่อต้องการเรียนรู้เพิ่มเติมเกี่ยวกับตัวเชื่อมต่อ CSV ดูข้อความ/CSV

ในตัวอย่างนี้ ปล่อยให้การตั้งค่าเริ่มต้นทั้งหมด (ไฟล์ตัวอย่าง ตั้งค่าเป็น ไฟล์ แรก และ ค่าเริ่มต้นของ แหล่งที่มาของไฟล์ , ตัวคั่น และ การตรวจหาชนิดข้อมูล)

จากนั้นเลือก แปลงข้อมูล ที่มุมล่างขวาเพื่อไปยังคิวรีเอาต์พุต

คิวรีเอาต์พุต

หลังจากเลือก แปลง ข้อมูล ในกล่องโต้ตอบ รวม ไฟล์ แล้วคุณจะถูกตัวแก้ไข Power Queryในคิวรีที่คุณสร้างครั้งแรกจากการเชื่อมต่อไปยังโฟลเดอร์ภายในเครื่อง คิวรีผลลัพธ์ในขณะนี้ประกอบด้วยชื่อไฟล์ต้นฉบับในคอลัมน์ซ้ายส่วนใหญ่ พร้อมกับข้อมูลจากแต่ละไฟล์ต้นฉบับในคอลัมน์ที่เหลือ

ส่งออกคิวรีไฟล์รวมโดยไม่มีการแปลงเพิ่มเติม

อย่างไรก็ตาม ข้อมูลอยู่ในรูปร่างที่ถูกต้อง คุณจึงต้องลบแถวบนสุดสี่แถวออกจากแต่ละไฟล์ก่อนที่จะรวมไฟล์เหล่านั้น เมื่อต้องการเปลี่ยนแปลงค่านี้ในแต่ละไฟล์ก่อนที่คุณจะรวมให้เลือกคิว รี****แปลงไฟล์ตัวอย่าง ในบานหน้าต่าง คิวรี ทางด้านซ้ายของหน้าจอของคุณ

ปรับเปลี่ยนคิวรีแปลงไฟล์ตัวอย่าง

ใน คิวรี ไฟล์ตัวอย่างการแปลงนี้ ค่าในคอลัมน์วันที่ จะระบุว่าข้อมูลมีไว้ในช่วงเดือนเมษายน ซึ่งมีรูปแบบ ปี-เดือน-วัน (YYYY-MM-DD) วันที่2019.csvเมษายน คือ ไฟล์แรกที่แสดงในการแสดงตัวอย่างตาราง

ตารางแสดงคอลัมน์ข้อมูลจากเดือนเมษายน 2019 รวมถึงส่วนส่วนหัวในสี่แถวแรกและหัวเรื่องในแถวที่ห้า

ในตอนนี้คุณจะต้องใช้ชุดการแปลงใหม่เพื่อล้างข้อมูล การแปลงข้อมูลแต่ละครั้งจะถูกแปลงเป็นฟังก์ชันภายในกลุ่มคิวรี Helper โดยอัตโนมัติ ซึ่งจะใช้กับทุกไฟล์ในโฟลเดอร์ก่อนที่จะรวมข้อมูลจากแต่ละไฟล์

การแปลงที่ต้องใช้เพิ่มลงในคิวรี ไฟล์ตัวอย่างการแปลง คือ:

  1. ลบแถว บนสุด : เพื่อดําเนินการนี้ ให้เลือกเมนูไอคอนตารางที่มุมบนซ้ายของตาราง จากนั้นเลือก ลบแถว ด้านบน

    ลบแถวบนสุดบนเมนูตารางออก

    ในกล่องโต้ตอบ ลบแถว บนสุด ให้ใส่ 4****จากนั้นเลือก ตกลง

    ลบกล่องโต้ตอบแถวบนสุด

    หลังจากเลือก ตกลง ตารางของคุณจะไม่มีแถวบนสุดสี่แถวอีกต่อไป

    คิวรีตัวอย่างที่มีแถวที่ถูกลบออก

  2. ใช้แถวแรกเป็น ส่วนหัว : เลือกไอคอนตารางอีกครั้ง จากนั้นเลือก ใช้แถวแรกเป็น ส่วนหัว

    ใช้แถวแรกเป็นไอคอนส่วนหัว

    ผลลัพธ์ของการดําเนินการนั้นจะเลื่อนระดับแถวแรกของตารางเป็นส่วนหัวของคอลัมน์ใหม่

    ตารางตัวอย่างส่วนหัวที่เลื่อนระดับ

หลังจากการดําเนินการนี้Power Queryโดยค่าเริ่มต้นแล้ว จะพยายามตรวจหาชนิดข้อมูลของคอลัมน์และเพิ่มขั้นตอนชนิด คอลัมน์ที่ เปลี่ยนแปลงใหม่โดยอัตโนมัติ

แก้ไขคิวรีเอาต์พุต

เมื่อคุณกลับไปยังคิวรีไฟล์ CSV คุณจะสังเกตเห็นว่าขั้นตอนสุดท้ายจะแสดงข้อผิดพลาดที่อ่าน "ไม่พบคอลัมน์ 'Column1' ของตาราง" เหตุผลที่อยู่เบื้องหลังข้อผิดพลาดนี้คือสถานะก่อนหน้าของคิวรีได้ดําเนินการกับคอลัมน์ที่ ชื่อว่า Column1 แต่เนื่องจากการเปลี่ยนแปลงที่มีการเปลี่ยนแปลง ในคิวรี แปลง ไฟล์ตัวอย่าง คอลัมน์นี้จึงไม่มีอยู่อีกต่อไป ข้อมูลเพิ่มเติม: การจัดการกับข้อผิดพลาดใน Power Query

คิวรีผลลัพธ์ที่มีข้อผิดพลาดระดับขั้นตอน

คุณสามารถลบขั้นตอนสุดท้ายของคิวรี ออกจากบานหน้าต่าง ขั้นตอนที่ ใช้ โดยการเลือกไอคอนลบ X ทางด้านซ้ายของชื่อของขั้นตอน หลังจากลบขั้นตอนนี้แล้ว คิวรีของคุณจะแสดงผลลัพธ์ที่ถูกต้อง

รวมไฟล์โดยไม่มีขั้นตอนข้อผิดพลาด

อย่างไรก็ตาม โปรดสังเกตว่าไม่มีคอลัมน์ใดที่ได้รับมาจากไฟล์ (วันที่ ประเทศ หน่วย รายได้) มีชนิดข้อมูลเฉพาะที่ได้รับมอบหมาย กําหนดชนิดข้อมูลที่ถูกต้องให้กับแต่ละคอลัมน์โดยใช้ตารางต่อไปนี้

ชื่อคอลัมน์ ชนิดของข้อมูล
วันที่ วันที่
ประเทศ ข้อความ
หน่วย จำนวนเต็ม
รายได้ สกุลเงิน

หลังจากนิยามชนิดข้อมูลของแต่ละคอลัมน์แล้ว คุณก็พร้อมที่จะโหลดตารางได้

ตัวอย่างตารางรวมขั้นสุดท้าย

หมายเหตุ

หากต้องการเรียนรู้วิธีการกําหนดหรือเปลี่ยนชนิดข้อมูลของคอลัมน์โปรดดู ชนิดข้อมูล

การตรวจสอบ

เพื่อตรวจสอบว่าไฟล์ทั้งหมดได้รับการรวมแล้ว คุณสามารถเลือกไอคอนตัวกรองใน Source.Name คอลัมน์ใหม่ซึ่งจะแสดงชื่อทั้งหมดของไฟล์ที่ถูกรวมเข้าด้วยกัน หากคุณได้รับคําเตือน "รายการอาจไม่สมบูรณ์" ให้เลือก โหลดเพิ่มเติม ที่ด้านล่างของเมนูเพื่อแสดงค่าที่มีอยู่ในคอลัมน์มากขึ้น

รายการไฟล์ที่ไม่สมบูรณ์ที่ถูกรวมเข้าด้วยกัน

หลังจากที่คุณเลือก โหลด เพิ่มเติม ชื่อไฟล์ที่พร้อมใช้งานทั้งหมดจะปรากฏขึ้น

รายการทั้งหมดของไฟล์ที่ถูกรวมเข้าด้วยกัน