Devdit
 

Python เก็บข้อมูลลงใน Excel แบบรับค่าจากผู้ใช้งาน

2.7K

สอนเขียนภาษา Python เก็บข้อมูลลงใน Excel แบบรับค่าจากผู้ใช้งาน ตัวอย่างโปรแกรมจะรับค่าชื่อจากผู้ใช้งาน และบันทึกข้อมูลลงใน Excel โดยจะรับค่า และบึนทึกเรื่อยๆ จนกว่าจะไม่ได้กรอกข้อมูลเข้ามา สามารถเขียนโปรแกรมได้ดังนี้

 

ตัวอย่าง วิธีติดตั้ง openpyxl ด้วยโปรแกรม pip

pip install openpyxl

 

ตัวอย่าง Python เก็บข้อมูลลงใน Excel แบบรับค่าจากผู้ใช้งาน

import openpyxl

wb = openpyxl.load_workbook("test.xlsx")
sheet = wb.active

print('กรณีต้องการออกจากการบันทึกให้กด enter โดยไม่ต้องกรอกชื่อ')
i = 1

while i == 1 :
    name = input('กรุณากรอกชือ : ')
    if name != '' :
        max_row = sheet.max_row
        sheet.cell(row = max_row + 1, column = 1).value = name
        wb.save("test.xlsx")
    else:
        i = 0

print('บันทึกข้อมูลลงไฟล์ excel เรียบร้อยแล้ว')

ผลลัพธ์

กรณีต้องการออกจากการบันทึกให้กด enter โดยไม่ต้องกรอกชื่อ
กรุณากรอกชือ : Python
กรุณากรอกชือ : Ruby
กรุณากรอกชือ : Java
กรุณากรอกชือ :

บันทึกข้อมูลลงไฟล์ excel เรียบร้อยแล้ว

คำอธิบาย

1. ติดตั้ง และ import module openpyxl เพื่อใช้งานคำสั่งที่เกี่ยวกับการจัดการ Excel

2. โหลดไฟล์ Excel ด้วยคำสั่ง load_workbook และอ่าน sheet ที่ทำงานด้วยคำสั่ง active

3. กำหนดให้ตัวแปร i เริ่มต้นเท่ากับ 1 เพื่อใช้สำหรับหยุดการทำงานของ loop while

4. ใช้ loop while วนรับค่าจากผู้ใช้งาน และเก็บไว้ที่ตัวแปร name

5. กรณีถ้าตัวแปร name มีค่าจะเข้าไปทำงานที่ปีกกาแรก โดยจะเป็นการเก็บข้อมูลลงไฟล์ Excel

6. ตัวแปร max_row = sheet.max_row จะอ่านว่าปัจจุบันข้อมูลในไฟล์ Excel มีกี่ row และจะบันทึกต่อจาก row ปัจจุบัน ด้วยการกำหนด row = max_row + 1

7. หากตัวแปร name มีค่าว่างเปล่า ให้ตัวแปร i เท่ากับ 0 เพื่อให้ loop while หยุดการทำงาน

เขียน 2 ปีที่แล้ว
ชอบ
ลิ้งก์
แชร์
Devdit มีช่อง YouTube แล้ว
เราสร้างวิดีโอเกี่ยวกับเทคโนโลยี ทำตามง่ายๆ