XLSX เป็น CSV ใน Python

Xlsx Pen Csv Ni Python



ในช่วงไม่กี่ปีที่ผ่านมา Python ได้กลายเป็นหนึ่งในภาษาโปรแกรมที่โดดเด่น ชุมชน Python ได้ขยายตัวอย่างมากเนื่องจากความนิยมและยูทิลิตี้ของ Python เราจะลงรายละเอียดในบทความนี้เกี่ยวกับวิธีใช้ Python เพื่อแปลง XLSX เป็น CSV เราทราบดีว่าไฟล์ excel มักถูกใช้ในการวิเคราะห์ทางการเงิน จัดระเบียบข้อมูล ป้อนข้อมูล ทำบัญชี จัดการข้อมูล สร้างแผนภูมิและกราฟ ฯลฯ อย่างไรก็ตาม เรามักจะชอบใช้ไฟล์ CSV สำหรับนำเข้าและส่งออกข้อมูลเป็นส่วนใหญ่ วิธีหนึ่งคือการถ่ายโอนข้อมูลที่มีโครงสร้างโดยใช้ไฟล์ข้อความธรรมดา

ไฟล์ Xslx คืออะไร?

เมื่อสร้างสเปรดชีตใน Excel เวอร์ชันล่าสุด Microsoft จะใช้ไฟล์ XLSX เป็นประเภทไฟล์เริ่มต้น เช่นเดียวกับไฟล์ประเภท DOCX ของ Word เราสามารถเปิดไฟล์ XLSX โดยใช้แอพพลิเคชั่น/โปรแกรมที่หลากหลาย

ไฟล์ CSV คืออะไร?

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







ข้อแตกต่างที่สำคัญระหว่างไฟล์ XLSX และ CSV

ผู้ใช้มักจะใช้ CSV และ XLSX แทนกันได้ และโดยทั่วไปพวกเขาไม่ทราบถึงความแตกต่างระหว่างทั้งสอง ลักษณะพื้นฐานเป็นอย่างไร และวิธีการทำงาน ทำหน้าที่เป็นแหล่งข้อมูลสำหรับผู้ใช้เท่านั้น ธุรกิจและองค์กรเกือบทุกแห่งใช้ทั้งสองสิ่งนี้เพื่อช่วยผู้ใช้ในการจัดการ อัปเดต และจัดเก็บข้อมูลสำหรับผู้ใช้ ต่อไปนี้เป็นข้อแตกต่างที่สำคัญบางประการระหว่างไฟล์ XLSX และ CSV ที่คุณควรทราบ:



  • รูปแบบ CSV จะบันทึกข้อมูลแบบตารางลงในไฟล์ข้อความตัวคั่นที่มีนามสกุล .csv ในขณะที่ไฟล์ excel หรือ XLSX เป็นสเปรดชีตที่เก็บไฟล์ในรูปแบบที่เป็นกรรมสิทธิ์ ได้แก่ xls หรือ XLSX
  • ไฟล์ Excel เป็นไฟล์ไบนารีที่มีข้อมูลในทุกแผ่นงานในสมุดงาน ในขณะที่ CSV เป็นรูปแบบข้อความธรรมดาที่มีลำดับของค่าข้อมูลคั่นด้วยเครื่องหมายจุลภาค
  • ไม่สามารถดำเนินการกับข้อมูลในไฟล์ CSV อย่างไรก็ตามสามารถทำได้ในไฟล์ Excel
  • ไฟล์ CSV เร็วกว่าและใช้หน่วยความจำน้อยกว่าไฟล์ XLSX อย่างไรก็ตาม Excel ใช้หน่วยความจำมากขึ้นเมื่อนำเข้าข้อมูล
  • หากเราเปรียบเทียบ CSV กับ Excel เราสามารถเปิดไฟล์ CSV ในโปรแกรมแก้ไขข้อความของ Windows ในขณะที่ไฟล์ Excel ไม่สามารถทำได้

ไฟล์ XLSX สามารถแปลงเป็น CSV โดยใช้ Python ได้อย่างไร

ไฟล์ XLSX สามารถแปลงเป็นไฟล์ CSV ใน Python ได้หลายวิธี Python มีโมดูลและฟังก์ชันต่างๆ มากมายที่สามารถช่วยให้เราทำงานนี้ได้สำเร็จ ในที่นี้ เราจะอธิบายวิธีการ 2-3 วิธีที่สามารถใช้เพื่อแปลงไฟล์ XLSX เป็นไฟล์ CSV ใน Python



ข้อกำหนดเบื้องต้นในการแปลง Excel เป็น CSV

การติดตั้งข้อกำหนดเป็นขั้นตอนแรก เราใช้โมดูลต่างๆ เช่น การรวม Pandas, CSV และ Openpyxl เป็นต้น ในบทช่วยสอนนี้ แพ็คเกจ Pandas ของ Python ช่วยให้สามารถจัดการและวิเคราะห์ข้อมูลได้ Pandas เป็นไลบรารี่ที่รู้จักกันดีในหมู่โปรแกรมเมอร์ Python ไฟล์ Excel สามารถอ่านและเขียนได้โดยใช้แพ็คเกจ Python ที่รู้จักกันในชื่อ Openpyxl เราจะไม่ติดต่อกับห้องสมุดนี้โดยตรง Pandas ใช้ประโยชน์จาก Openpyxl ภายในแทน





เมื่อใช้ที่เก็บ PyPI เราสามารถติดตั้งทั้งสองแพ็คเกจได้:

วิธีที่ 1: การแปลง XLSX เป็น CSV โดยใช้โมดูล Pandas

ตัวอย่างที่ 1: การแปลงไฟล์ XLSX หนึ่งไฟล์เป็น CSV



Pandas เป็นโมดูลโอเพ่นซอร์สที่สร้างขึ้นสำหรับภาษาโปรแกรม Python เพื่อจัดการและวิเคราะห์ข้อมูล ในการทำงานกับอนุกรมเวลาและตารางตัวเลข Pandas มีฟังก์ชันและคุณสมบัติที่หลากหลาย เมื่อใช้แพนด้า ชุดข้อมูลทั้งขนาดเล็กและขนาดใหญ่สามารถอ่าน กรอง และจัดเรียงใหม่ได้ และสามารถสร้างผลลัพธ์ได้หลายรูปแบบ เช่น Excel, JSON และ CSV เราใช้เมธอด read_excel() ของ Pandas เพื่ออ่านไฟล์ excel และเมธอด to_csv() เพื่อแปลง DataFrame เป็นไฟล์ CSV

เราพิมพ์ไฟล์ .csv ของเราเป็น DataFrame ดังที่เห็นในผลลัพธ์ สคริปต์ก่อนหน้านี้แปลงไฟล์ XLSX เป็น CSV และสร้างไฟล์ “salary.csv” ในไดเร็กทอรีปัจจุบัน

ตัวอย่างที่ 2: การแปลงไฟล์ XLSX (ที่มีหลายแผ่น) เป็น CSV

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

เราใช้ไฟล์ XLSX ตัวอย่างที่มีแผ่นงานหรือสเปรดชีตตั้งแต่สองแผ่นขึ้นไป

อย่างที่เห็น ไฟล์ XLSX ของเราประกอบด้วยสองแผ่น (แผ่นที่ 1 และแผ่นที่ 2) ตอนนี้ เราเขียนโค้ดเพื่อแปลงไฟล์ XLSX เป็น CSV

เอาท์พุต:

สคริปต์แปลงไฟล์ XLSX ที่มีสองชีตเป็นไฟล์ CSV เดียวด้วยชีตเดียวได้สำเร็จ

ตัวอย่างที่ 3: การแปลงไฟล์ XLSX หลายไฟล์เป็นไฟล์ CSV แยกกัน

พิจารณาสถานการณ์ที่คุณต้องการแปลงไฟล์ Excel หลายไฟล์ในไดเร็กทอรีการทำงานของคุณเป็น CSV คุณสามารถใช้วิธีนี้ได้ เราเริ่มต้นด้วยการสมมติว่าแต่ละไฟล์มีเพียงแผ่นเดียว จากนั้น เราขยายวิธีของเราในการจัดการหลายไฟล์และหลายชีต รหัส Python ที่ตามมาใช้โมดูลมาตรฐาน glob เราจับคู่เส้นทางไฟล์โดยใช้รูปแบบกับ Glob มันจับคู่ไฟล์ทั้งหมดที่มีนามสกุล .xlsx ในไดเร็กทอรีการทำงาน หลังจากนั้น เราพัฒนาฟังก์ชันที่อ่านไฟล์ Excel และบันทึกเป็นไฟล์ CSV เราเรียกฟังก์ชันนี้ในแต่ละพาธของไฟล์ที่พบ

สคริปต์ก่อนหน้านี้แปลงไฟล์ xlsx ทั้งหมดในไดเร็กทอรีปัจจุบันเป็นไฟล์ CSV

ตอนนี้ เราแปลงไฟล์ XLSX ที่มีสเปรดชีตหลายชุดเป็น CSV นี่น่าจะเป็นส่วนที่ยากที่สุด ไฟล์ Excel สามไฟล์อยู่ในไดเร็กทอรีการทำงานของเรา นอกจากนี้บางแผ่นยังมีมากกว่าหนึ่งแผ่น เรามุ่งมั่นที่จะ:

  1. สร้างไดเร็กทอรีสำหรับไฟล์สเปรดชีตแต่ละไฟล์
  2. แปลงแผ่นไฟล์ excel เป็น CSV และควรเก็บไว้ในไดเร็กทอรีที่สร้างขึ้นใหม่

สคริปต์จะแปลง XLSX ที่มีชีตเดียวและหลายชีตเป็นไฟล์ CSV แยกกัน และจัดเก็บไว้ในไดเร็กทอรีใหม่ที่มีชื่อเดียวกัน

ในการดึงไฟล์ Excel ทุกไฟล์ที่อยู่ในไดเร็กทอรีปัจจุบัน จะใช้ฟังก์ชัน glob หลังจากนั้น โฟลเดอร์จะถูกสร้างขึ้นสำหรับไฟล์ XLSX แต่ละไฟล์โดยใช้ฟังก์ชัน os.mkdir จากนั้นไฟล์ CSV จะถูกสร้างขึ้นสำหรับแต่ละชีตภายในไดเร็กทอรีใหม่โดยการวนซ้ำชื่อชีต

วิธีที่ 2: การแปลง XLSX เป็น CSV โดยใช้โมดูล Openpyxl และ CSV

ในวิธีนี้ เราจะใช้โมดูล openpyxl และ CSV เพื่อแปลงไฟล์ XLSX เป็น CSV หากต้องการอ่านและเขียนไฟล์ 2010 xlsx, xlsm, xltx และ xltm สามารถใช้โมดูล Python openpyxl ได้ โมดูล CSV ประกอบด้วยคลาสที่ช่วยให้สามารถอ่านและเขียนข้อมูลแบบตารางในรูปแบบ CSV ได้

ในการอ่านหรือโหลดไฟล์ xlsx เราใช้ฟังก์ชัน load_workbook() ของโมดูล openpyxl คุณสามารถใช้ฟังก์ชันนี้หากคุณต้องการเขียนหรืออ่านไฟล์ XLSX/Excel ที่มีอยู่ใน Python หลังจากเปิดใช้งาน excel เราใช้ฟังก์ชัน csv.writer() เพื่อสร้างไฟล์ CSV ของเรา จากนั้น for-loop จะใช้ในการจัดเก็บข้อมูลในเซลล์ข้อมูลของไฟล์ CSV เราแปลงไฟล์ example.xlsx เป็น myfile.csv ดังภาพต่อไปนี้:

บทสรุป

ในบทช่วยสอนนี้ เราได้แนะนำคุณสั้นๆ เกี่ยวกับไฟล์ XLSX และไฟล์ CSV เราได้อธิบายความแตกต่างที่สำคัญระหว่างรูปแบบไฟล์ทั้งสอง เราได้พูดถึงสองวิธีพร้อมตัวอย่างมากมายเพื่อสอนวิธีแปลงไฟล์ XLSX ที่มีแผ่นงานเดียวหรือหลายแผ่นเป็นไฟล์ CSV เราใช้ตัวอย่างในการแปลงไฟล์ XLSX หลายไฟล์เป็นไฟล์ CSV พร้อมกัน การแปลงข้อมูลจาก Excel เป็น CSV สามารถทำได้ง่ายหรือยาก หากคุณมีไฟล์เพียงไฟล์เดียวที่มีชีตจำนวนน้อย ก็ทำได้ง่ายๆ แต่ถ้าไม่มีก็เป็นไปได้ยาก