MS Excel มอบวิธีที่สะดวกในการเก็บรักษาและแบ่งปันข้อมูลในรูปแบบของแถวและคอลัมน์ บ่อยครั้งที่ไฟล์ Excel ถูกใช้เพื่อจัดเก็บชุดข้อมูลขนาดใหญ่ที่มีบันทึกเป็นร้อยเป็นพันรายการ ขณะทำงานกับไฟล์ Excel ใน Python คุณอาจต้องอ่านข้อมูลจากแต่ละเซลล์ในแผ่นงาน บทความนี้แสดงวิธีอ่านไฟล์ Excel ใน Python คุณจะได้เรียนรู้วิธีการอ่านข้อมูลจากแผ่นงานเดียวหรือแผ่นงานทั้งหมดในสมุดงาน Excel
Python Library เพื่ออ่านไฟล์ Excel
ในการอ่านข้อมูลจากสมุดงาน เราจะใช้ Aspose.Cells for Python via Java เป็นไลบรารี Python ที่ทรงพลังและมีฟีเจอร์มากมายสำหรับสร้างไฟล์ MS Excel นอกจากนี้ยังช่วยให้คุณอ่านและจัดการไฟล์ Excel ที่มีอยู่ได้อย่างราบรื่น คุณสามารถ ดาวน์โหลด ไลบรารีหรือติดตั้งโดยใช้คำสั่ง pip ต่อไปนี้
pip install aspose-cells
อ่านไฟล์ Excel ใน Python
ก่อนที่เราจะเริ่มอ่านข้อมูล เรามาดูภาพรวมของวิธีจัดการข้อมูลในไฟล์ Excel กันก่อน ไฟล์ Excel เรียกว่าเวิร์กบุ๊กที่ทำหน้าที่เป็นคอนเทนเนอร์ แต่ละเวิร์กบุ๊กมีเวิร์กชีตตั้งแต่หนึ่งเวิร์กชีตขึ้นไป และทุกเวิร์กชีตประกอบด้วยเซลล์จำนวนหนึ่ง เซลล์เหล่านี้จะถูกระบุโดยแถวและคอลัมน์โดยไม่ซ้ำกัน ดังนั้น ในการอ่านข้อมูลจากเซลล์ คุณจำเป็นต้องทราบดัชนีแถวและคอลัมน์
ต่อไปนี้เป็นขั้นตอนในการอ่านไฟล์ Excel และพิมพ์ข้อมูลใน Python
- โหลดไฟล์ Excel โดยใช้คลาส Workbook
- รับการอ้างอิงของ WorksheetCollection โดยใช้เมธอด Workbook.getWorksheets()
- วนซ้ำเวิร์กชีตในคอลเลกชันและในการวนซ้ำแต่ละครั้ง ให้ทำตามขั้นตอนต่อไปนี้:
- รับการอ้างอิงแผ่นงานในวัตถุ
- รับจำนวนแถวและคอลัมน์ข้อมูลในแผ่นงาน
- เริ่มวนซ้ำสำหรับแถว
- เริ่มการวนซ้ำที่ซ้อนกันสำหรับคอลัมน์
- อ่านข้อมูลจากแต่ละเซลล์โดยใช้เมธอด Worksheet.getCells().get(rowIndex, columnIndex).getValue()
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการอ่านไฟล์ Excel ใน Python
# โหลดสมุดงาน Excel
wb = Workbook("workbook.xlsx")
# รับคอลเลกชันแผ่นงาน
collection = wb.getWorksheets()
collectionCount = collection.getCount()
# วนรอบแผ่นงานทั้งหมด
for worksheetIndex in range(collectionCount):
# รับแผ่นงานโดยใช้ดัชนี
worksheet = collection.get(worksheetIndex)
# พิมพ์ชื่อแผ่นงาน
print("Worksheet: " + str(worksheet.getName()))
# รับจำนวนแถวและคอลัมน์
rows = worksheet.getCells().getMaxDataRow()
cols = worksheet.getCells().getMaxDataColumn()
# วนซ้ำเป็นแถว
for i in range(rows):
# วนซ้ำแต่ละคอลัมน์ในแถวที่เลือก
for j in range(cols):
# พิมพ์ค่าเซลล์
print(worksheet.getCells().get(i, j).getValue(), end =" | ")
# พิมพ์ตัวแบ่งบรรทัด
print("\n")
ต่อไปนี้เป็นผลลัพธ์ที่เราได้รับหลังจากรันตัวอย่างโค้ดด้านบน
อ่านแผ่นงานเฉพาะใน Excel ใน Python
คุณยังสามารถอ่านแผ่นงานเฉพาะในไฟล์ Excel ได้โดยทำตามขั้นตอนด้านล่าง
- โหลดไฟล์ Excel โดยใช้คลาส Workbook
- รับการอ้างอิงแผ่นงานที่ต้องการโดยใช้เมธอด Workbook.getWorksheets().get(index)
- รับจำนวนแถวและคอลัมน์ข้อมูลในแผ่นงาน
- เริ่มวนซ้ำสำหรับแถว
- เริ่มการวนซ้ำที่ซ้อนกันสำหรับคอลัมน์
- อ่านข้อมูลจากแต่ละเซลล์โดยใช้เมธอด Worksheet.getCells().get(rowIndex, columnIndex).getValue()
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการอ่านข้อมูลจากแผ่นงานเฉพาะใน Python
# โหลดสมุดงาน Excel
wb = Workbook("workbook.xlsx")
# รับคอลเลกชันแผ่นงาน
worksheet = wb.getWorksheets().get(0)
# พิมพ์ชื่อแผ่นงาน
print("Worksheet: " + str(worksheet.getName()))
# รับจำนวนแถวและคอลัมน์
rows = worksheet.getCells().getMaxDataRow()
cols = worksheet.getCells().getMaxDataColumn()
# วนซ้ำเป็นแถว
for i in range(rows):
# วนซ้ำแต่ละคอลัมน์ในแถวที่เลือก
for j in range(cols):
# พิมพ์ค่าเซลล์
print(worksheet.getCells().get(i, j).getValue(), end =" | ")
# พิมพ์ตัวแบ่งบรรทัด
print("\n")
รับใบอนุญาต API ฟรี
คุณสามารถใช้ Aspose.Cells for Python ผ่าน Java ได้โดยไม่มีข้อจำกัดในการประเมินโดยขอ ใบอนุญาตชั่วคราวฟรี
บทสรุป
ในบทความนี้ คุณได้เรียนรู้วิธีการอ่านไฟล์ Excel ใน Python นอกจากนี้ คุณได้เห็นวิธีการอ่านข้อมูลจากแผ่นงานใดแผ่นหนึ่งหรือแผ่นงานทั้งหมดในสมุดงาน Excel คุณสามารถสำรวจเพิ่มเติมเกี่ยวกับไลบรารีสเปรดชีต Python โดยใช้ เอกสารประกอบ ในกรณีที่คุณมีคำถามหรือข้อสงสัยใดๆ โปรดแจ้งให้เราทราบผ่านทาง ฟอรัม ของเรา