0Pricing
Python Academy · บทเรียน

การอ่านเวิร์กบุ๊ก

เปิดและอ่านไฟล์ Excel

การอ่านเวิร์กบุ๊ก เป็นบทเรียน Python Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Python Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Python Academy มีบทเรียนทั้งหมด 4 บทเรียน

การใช้ Excel จาก Python

openpyxl เป็นไลบรารีมาตรฐานสำหรับอ่านและเขียนไฟล์ Excel รุ่นใหม่ (รูปแบบ .xlsx) ไลบรารีนี้ช่วยให้ Python ทำงานกับสเปรดชีตโดยอัตโนมัติ ซึ่งเดิมผู้ใช้ต้องทำด้วยตนเอง

บทเรียนนี้มุ่งเน้นการเปิดไฟล์และอ่านเนื้อหาภายใน

แบบจำลองสมุดงาน

ไฟล์ Excel มีลำดับชั้นที่ชัดเจน ซึ่ง openpyxl จำลองตามโครงสร้างนี้

  • สมุดงาน คือไฟล์ทั้งหมด
  • แผ่นงาน คือแท็บหนึ่งภายในสมุดงาน
  • เซลล์ คือช่องเดี่ยวรูปแบบ A1 ที่มีค่าอยู่ภายใน

คุณจะนำทางจากสมุดงานไปยังแผ่นงาน แล้วจึงไปยังเซลล์

การเปิดไฟล์

load_workbook('data.xlsx') อ่านไฟล์และส่งคืนสมุดงาน สำหรับไฟล์ขนาดใหญ่ที่คุณอ่านอย่างเดียว ให้ส่ง read_only=True เพื่ออ่านแถวแบบต่อเนื่องและประหยัดหน่วยความจำ

ใช้ data_only=True เพื่ออ่านผลลัพธ์ล่าสุดที่คำนวณแล้วของเซลล์สูตร แทนที่จะอ่านข้อความสูตร

การเลือกแผ่นงาน

wb.active ส่งคืนแผ่นงานที่เลือกอยู่ในขณะนั้น wb['Sheet1'] ใช้เลือกตามชื่อ และ wb.sheetnames แสดงรายการแท็บทั้งหมด การเลือกแผ่นงานที่ถูกต้องเป็นขั้นตอนแรกของการอ่านข้อมูลทุกครั้ง

sheetnames = ['Summary', 'Q1', 'Q2', 'Q3']
wanted = 'Q2'
if wanted in sheetnames:
    print('Selecting sheet:', wanted)
else:
    print('Not found, defaulting to', sheetnames[0])

การอ่านเซลล์เดี่ยว

เข้าถึงเซลล์ด้วยที่อยู่แบบ Excel เช่น ws['A1'].value หรือใช้ตัวเลขด้วย ws.cell(row=1, column=1).value แอตทริบิวต์ .value เก็บข้อมูลจริง ซึ่งอาจเป็นข้อความ ตัวเลข วันที่ หรือค่าว่าง

ตัวอักษรและตัวเลขคอลัมน์

คอลัมน์ Excel ใช้ตัวอักษร (A, B, ... Z, AA) แต่ openpyxl ก็ใช้ตัวเลขที่เริ่มจาก 1 เช่นกัน บางครั้งจึงจำเป็นต้องแปลงระหว่างสองรูปแบบ ต่อไปนี้คือตัวเลขคอลัมน์ที่ได้จากตัวอักษร

def col_to_num(letters):
    num = 0
    for ch in letters.upper():
        num = num * 26 + (ord(ch) - ord('A') + 1)
    return num

for c in ['A', 'B', 'Z', 'AA']:
    print(c, '->', col_to_num(c))

การวนซ้ำในแถว

ws.iter_rows(values_only=True) ส่งคืนแต่ละแถวเป็นทูเพิลของค่า วิธีนี้เป็นวิธีที่สะอาดที่สุดในการอ่านตาราง โดยปกติแถวแรกจะเป็นหัวตาราง

คุณวนซ้ำในแถวได้เช่นเดียวกับสิ่งที่วนซ้ำได้ทุกชนิด

rows = [
    ('Name', 'Age', 'City'),
    ('Ada', 36, 'London'),
    ('Linus', 54, 'Helsinki'),
]
header = rows[0]
for record in rows[1:]:
    print(dict(zip(header, record)))

การค้นหาช่วงที่มีการใช้งาน

ws.max_row และ ws.max_column บอกว่าข้อมูลขยายไปไกลเพียงใด ws.dimensions ส่งคืนข้อความช่วง เช่น 'A1:C10' ใช้ค่าเหล่านี้เพื่อหลีกเลี่ยงการอ่านเซลล์ว่าง

การอ่านช่วงข้อมูล

คุณสามารถแบ่งส่วนแผ่นงานได้ด้วย ws['A1:C3'] ซึ่งส่งคืนทูเพิลของทูเพิลแถวที่ประกอบด้วยวัตถุเซลล์ วิธีนี้มีประโยชน์เมื่อคุณต้องการเพียงบางส่วนของแผ่นงานแทนที่จะอ่านทุกแถว

การจัดการเซลล์ว่าง

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

raw_row = ('Ada', None, 'London')
clean = [v if v is not None else 'N/A' for v in raw_row]
print(clean)

การอ่านข้อมูลจากหลายแผ่นงาน

สมุดงานหนึ่งเล่มอาจแบ่งข้อมูลไว้ในหลายแท็บ เช่น แท็บละหนึ่งเดือน ให้วนซ้ำใน wb.sheetnames เลือกแต่ละแผ่นงาน แล้วอ่านด้วยตรรกะเดียวกัน กำกับแต่ละแถวด้วยชื่อแผ่นงานเพื่อให้ติดตามแหล่งที่มาได้

รูปแบบนี้ช่วยรวมหลายแท็บให้เป็นชุดข้อมูลรวมชุดเดียว

ตรวจสอบความเข้าใจ

ทดสอบทักษะการอ่านข้อมูลของคุณ

ทบทวน

ตอนนี้คุณสามารถอ่านไฟล์ Excel ได้แล้ว

  • ลำดับชั้น: สมุดงาน > แผ่นงาน > เซลล์
  • load_workbook พร้อมตัวเลือก read_only และ data_only
  • เลือกแผ่นงานผ่าน wb.active, wb['Name'], wb.sheetnames
  • อ่านค่าด้วย .value, iter_rows(values_only=True) และตรวจสอบ max_row / max_column
  • ป้องกันค่า None สำหรับเซลล์ว่าง

คำถามที่พบบ่อย

บทเรียน “การอ่านเวิร์กบุ๊ก” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “การอ่านเวิร์กบุ๊ก” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Python Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Python Academy มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “การอ่านเวิร์กบุ๊ก”

เปิดและอ่านไฟล์ Excel คุณปฏิบัติ Python Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Python Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Python Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน

บทเรียน “การอ่านเวิร์กบุ๊ก” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Python Academy นี้ได้ไหม

ได้ บทเรียน Python Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. การอ่านเวิร์กบุ๊ก
  2. การเขียนและจัดรูปแบบเซลล์
  3. สูตรและกราฟ
  4. การประมวลผลรายงานเป็นชุด
← กลับไปที่ Python Academy