วิธีอ่านไฟล์ excel (xlsx) ใน python

How Read Excel File Python



NS .xlsx เป็นส่วนขยายของเอกสาร excel ที่สามารถจัดเก็บข้อมูลจำนวนมากในรูปแบบตาราง และการคำนวณทางคณิตศาสตร์และตรรกะหลายประเภทสามารถทำได้ง่ายในสเปรดชีต excel บางครั้งจำเป็นต้องอ่านข้อมูลจากเอกสาร excel โดยใช้สคริปต์ Python เพื่อวัตถุประสงค์ในการเขียนโปรแกรม มีโมดูลจำนวนมากใน Python เพื่ออ่านเอกสาร excel โมดูลที่มีประโยชน์บางส่วนคือ xlrd , openpyxl , และ หมีแพนด้า . วิธีการใช้โมดูลเหล่านี้เพื่ออ่านไฟล์ excel ใน Python ได้แสดงไว้ในบทช่วยสอนนี้

ข้อกำหนดเบื้องต้น:

ไฟล์ excel จำลองที่มีนามสกุล .xlsx จะต้องตรวจสอบตัวอย่างของบทช่วยสอนนี้ คุณสามารถใช้ไฟล์ excel ที่มีอยู่หรือสร้างใหม่ได้ ที่นี่ ไฟล์ excel ใหม่ชื่อ sales.xlsx ไฟล์ถูกสร้างขึ้นด้วยข้อมูลต่อไปนี้ ไฟล์นี้ใช้สำหรับการอ่านโดยใช้โมดูลหลามต่างๆ ในส่วนถัดไปของบทช่วยสอนนี้







sales.xlsx



วันที่ขาย พนักงานขาย จำนวน
05/12/18 ศิลา อาเหม็ด 60000
12/06/19 ฉัน Hossain 50,000
08/09/20 ซาร์มิน จาฮาน 45000
04/07/21 มะห์มูดุล ฮาซัน 30000

ตัวอย่างที่ 1: อ่านไฟล์ excel โดยใช้ xlrd

โมดูล xlrd ไม่ได้ติดตั้งด้วย Python เป็นค่าเริ่มต้น ดังนั้น คุณต้องติดตั้งโมดูลก่อนใช้งาน โมดูลเวอร์ชันล่าสุดนี้ไม่สนับสนุนไฟล์ excel ที่มีนามสกุล .xlsx ดังนั้น คุณต้องติดตั้งโมดูลเวอร์ชัน 1.2.0 เพื่ออ่านไฟล์ xlsx เรียกใช้คำสั่งต่อไปนี้จากเทอร์มินัลเพื่อติดตั้ง . เวอร์ชันที่ต้องการ xlrd .



$pipติดตั้ง xlrd== 1.2.0

หลังจากเสร็จสิ้นขั้นตอนการติดตั้ง ให้สร้างไฟล์ python ด้วยสคริปต์ต่อไปนี้เพื่ออ่านไฟล์ sales.xlsx ไฟล์โดยใช้ xlrd โมดูล. open_workbook() ฟังก์ชั่นที่ใช้ในสคริปต์เปิดไฟล์ xlsx เพื่ออ่าน ไฟล์ excel นี้มีเพียงหนึ่งแผ่นเท่านั้น ดังนั้น สมุดงาน.sheet_by_index() ฟังก์ชันถูกใช้ในสคริปต์ที่มีค่าอาร์กิวเมนต์เป็น 0 ถัดไป ซ้อน 'สำหรับ' ลูปใช้อ่านค่าเซลล์ของเวิร์กชีตโดยใช้ค่าแถวและคอลัมน์ มีการใช้ฟังก์ชัน range() สองฟังก์ชันในสคริปต์เพื่อกำหนดขนาดแถวและคอลัมน์ตามข้อมูลชีต NS cell_value() ฟังก์ชันได้ใช้ในการอ่านค่าเซลล์เฉพาะของชีตในการวนซ้ำแต่ละครั้งของลูป แต่ละฟิลด์ในผลลัพธ์จะถูกคั่นด้วยช่องว่างหนึ่งแท็บ





# นำเข้าโมดูล xlrd
นำเข้า xlrd

#เปิดสมุดงาน
สมุดงาน = xlrd.open_workbook('ขาย.xlsx')

#เปิดใบงาน
แผ่นงาน = workbook.sheet_by_index(0)

# วนซ้ำแถวและคอลัมน์
สำหรับผมในพิสัย(0,5):
สำหรับNSในพิสัย(0,3):
# พิมพ์ค่าเซลล์ด้วยช่องว่างแท็บ
พิมพ์(แผ่นงาน.cell_value(ฉัน j),จบ='NS')
พิมพ์('')

เอาท์พุท:

ผลลัพธ์ต่อไปนี้จะปรากฏขึ้นหลังจากรันสคริปต์ข้างต้น



ตัวอย่างที่ 2: อ่านไฟล์ excel โดยใช้ openpyxl

NS openpyxl เป็นโมดูล python อีกโมดูลหนึ่งสำหรับอ่านไฟล์ xlsx และไม่ได้ติดตั้งด้วย Python โดยค่าเริ่มต้น เรียกใช้คำสั่งต่อไปนี้จากเทอร์มินัลเพื่อติดตั้งโมดูลนี้ก่อนใช้งาน

$pipติดตั้งopenpyxl

หลังจากเสร็จสิ้นขั้นตอนการติดตั้ง ให้สร้างไฟล์ python ด้วยสคริปต์ต่อไปนี้เพื่ออ่านไฟล์ sales.xlsx ไฟล์. เช่นเดียวกับโมดูล xlrd openpyxl โมดูลมี load_workbook() ฟังก์ชันเปิดไฟล์ xlsx เพื่ออ่าน NS sales.xlsx file ถูกใช้เป็นค่าอาร์กิวเมนต์ของฟังก์ชันนี้ วัตถุประสงค์ของ wookbook.active ได้ถูกสร้างขึ้นในสคริปต์เพื่ออ่านค่าของ max_row และ max_column คุณสมบัติ. มีการใช้คุณสมบัติเหล่านี้ในการซ้อนสำหรับลูปเพื่ออ่านเนื้อหาของ sales.xlsx ไฟล์. ฟังก์ชัน range() ถูกใช้เพื่ออ่านแถวของชีต และฟังก์ชัน iter_cols() ถูกใช้เพื่ออ่านคอลัมน์ของชีต แต่ละฟิลด์ในผลลัพธ์จะถูกคั่นด้วยช่องว่างสองแท็บ

# นำเข้าโมดูล openyxl
นำเข้า openpyxl

# กำหนดตัวแปรเพื่อโหลด wookbook
wookbook = openpyxl.load_workbook('ขาย.xlsx')

# กำหนดตัวแปรเพื่ออ่านแผ่นงานที่ใช้งานอยู่:
แผ่นงาน = wookbook.active

# วนซ้ำเพื่ออ่านค่าของเซลล์
สำหรับผมในพิสัย(0, แผ่นงาน.max_row):
สำหรับ กับ ในworksheet.iter_cols(1, worksheet.max_column):
พิมพ์(กับ[ผม].ค่า,จบ='NSNS')
พิมพ์('')

เอาท์พุท:

ผลลัพธ์ต่อไปนี้จะปรากฏขึ้นหลังจากรันสคริปต์ข้างต้น

ตัวอย่างที่ 3: อ่านไฟล์ excel โดยใช้ pandas

โมดูล pandas ไม่ได้ติดตั้งด้วย python เหมือนโมดูลก่อนหน้า ดังนั้น หากคุณไม่เคยติดตั้งมาก่อน คุณจะต้องติดตั้ง เรียกใช้คำสั่งต่อไปนี้เพื่อติดตั้ง หมีแพนด้า จากเทอร์มินัล

$pipติดตั้งหมีแพนด้า

หลังจากเสร็จสิ้นขั้นตอนการติดตั้ง ให้สร้างไฟล์ python ด้วยสคริปต์ต่อไปนี้เพื่ออ่านไฟล์ sales.xlsx ไฟล์. NS read_excel() ฟังก์ชันของแพนด้าใช้สำหรับอ่านไฟล์ xlsx ฟังก์ชันนี้ได้ใช้ในสคริปต์เพื่ออ่าน sales.xlsx ไฟล์. NS ดาต้าเฟรม() ฟังก์ชั่นใช้ที่นี่เพื่ออ่านเนื้อหาของไฟล์ xlsx ใน data frame และเก็บค่าในตัวแปรชื่อ ข้อมูล . ค่าของข้อมูลถูกพิมพ์ในภายหลัง

#นำเข้าแพนด้า
นำเข้าแพนด้าเช่นpd

# โหลดไฟล์ xlsx
excel_data = pd.read_excel('ขาย.xlsx')
# อ่านค่าของไฟล์ใน dataframe
data = pd.DataFrame(excel_data,คอลัมน์=['วันที่ขาย','พนักงานขาย','จำนวน'])
#พิมพ์เนื้อหา
พิมพ์('เนื้อหาของไฟล์คือ:NS', ข้อมูล)

เอาท์พุท:

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

บทสรุป:

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