Skip to main content
0
Programming LanguagePython

เขียนไพธอน ให้อ่าน / เขียน / บันทึกไฟล์ Excel ได้ยังไง ?

ในปัจจุบันที่เรื่องข้อมูลเป็นสิ่งสำคัญ ยิ่งเทรนด์ของ Data Science ที่กำลังมาแรง และมีความสำคัญมากขึ้นทุกวัน และหนึ่งในรูปแบบของข้อมูลที่เราน่าจะคุ้นเคยกันดีก็น่าจะเป็นไฟล์ Microsoft Excel นั่นเอง เพราะฉะนั้นวันนี้เราจะมาทำการ อ่าน / เขียน / บันทึก ไฟล์ Excel ด้วย Python 3 กัน เริ่มกันได้เลย

ก่อนอื่นเนื่องจากว่าวันนี้เราจะใช้ Python 3 ในการเขียนโค้ดวันนี้ แน่นอนว่าในเครื่องต้องมี Python 3 ติดตั้งเอาไว้ให้เรียบร้อย จากติดตั้ง library เสริมที่ต้องใช้ในบทความนี้ เปิด command line ขึ้นมาแล้วพิมพ์คำสั่งติดตั้งตามนี้ได้เลย

pip install pandas
pip install xlsxwriter
pip install xlrd

ถ้าติดตั้งครบแล้วก็ไปขัั้นตอนต่อไปกันได้เลย

อ่านไฟล์ Excel

เราจะใช้ไฟล์ตัวอย่างชื่อ ‘fruits.xlsx’ โดยมีข้อมูลหน้าตาแบบนี้


โดยการอ่านไฟล์ Excel นั้นทำได้ง่ายมากๆ ดูตามโค้ดตัวอย่างต่อไปนี้ได้เลย

import pandas as pd
 
dataframe = pd.read_excel (r'fruits.xlsx')
print (dataframe)

เมื่อกดรันแล้วก็จะ print ผลลัพธ์ออกมาแบบนี้

หรือถ้าจะ print ข้อมูลเฉพาะคอลัมน์ Name ก็ทำได้เพียงแค่ระบุชื่อคอลัมน์เท่านั้น 

print (dataframe['Name'])

ก็จะได้ผลลัพธ์ออกมาแบบนี้

เขียนข้อมูลเป็นไฟล์ Excel

เราจะสร้างข้อมูลง่ายๆเป็น Pandas DataFrame จากนั้นเซฟเป็นไฟล์ .xlsx ด้วย xlsxwriter ลองดูโค้ดและคำอธิการทำงานแต่ละบรรทัดตามโค้ดด้านล่างนี้กัน

import xlsxwriter
import pandas as pd
 
# สร้าง DataFrame ที่มี 1 คอลัมน์ชื่อ 'Data'
dataframe = pd.DataFrame({'Data' : [20, 30, 45, 12, 33, 9]})
 
# สร้าง Pandas Excel Writer เพื่อใช้เขียนไฟล์ Excel โดยใช้ Engine เป็น xlsxwriter
# โดยตั้งชื่อไฟล์ว่า 'simple_data.xlsx'
writer = pd.ExcelWriter('simple_data.xlsx', engine='xlsxwriter')
 
# นำข้อมูลที่สร้างไว้ในตัวแปร dataframe เขียนลงไฟล์
dataframe.to_excel(writer, sheet_name='หน้าที่1')
 
# จบการทำงาน Pandas Excel writer และเซฟข้อมูลออกมาเป็นไฟล์ Excel
writer.save()

พอกดรันแล้วลองดูที่โฟลเดอร์เดียวกันกับโค้ดนี้ก็จะพบว่ามีไฟล์ simple_data.xlsx ถูกสร้างขึ้นมา ลองเปิดก็จะพบว่ามีข้อมูลอยู่แบบนี้

แก้ไขไฟล์ Excel

เราจะทำการเพิ่มข้อมูล orange ต่อท้ายเข้าไปในไฟล์ fruits.xlsx ที่ใช้ในตอนอ่านไฟล์กัน ลองดูตัวอย่างโค้ดพร้อมคำอธิบายกันได้เลย

import xlsxwriter
import pandas as pd
 
# อ่านข้อมูลที่มีอยู่ในไฟล์เดิม
readDataframe = pd.read_excel (r'fruits.xlsx')
 
# สร้างข้อมูลใหม่เป็นข้อมูลของ orange
newDataframe = pd.DataFrame({'Name' : ['orange'], 'Price':  [88], 'Amount': [15]})
 
# นำข้อมูล orange ที่สร้างใหม่รวมเข้ากับข้อมูลเก่าที่อ่านจากไฟล์
frames = [readDataframe, newDataframe]
result = pd.concat(frames)
 
# สร้าง Writer เหมือนกับตอนเขียนไฟล์
writer = pd.ExcelWriter('fruits.xlsx', engine='xlsxwriter')
 
# นำข้อมูลชุดใหม่เขียนลงไฟล์และจบการทำงาน
result.to_excel(writer, index = False)
writer.save()

เมื่อกดรันเสร็จแล้วลองเปิดดูไฟล์ fruits.xlsx ก็จะมีข้อมูลเพิ่มมาอีกแถวก็คือ orange นั่นเอง

ได้ลองดูแล้วก็น่าจะเห็นว่าการใช้งาน Python 3 กับ ไฟล์ Excel นั้นไม่ยากเลยใช่มั้ยครับ ลองนำไปปรับใช้กันได้นะครับ

Develeper

Author Develeper

More posts by Develeper
Close Menu

เราใช้คุกกี้เพื่อพัฒนาประสิทธิภาพ และประสบการณ์ที่ดีในการใช้เว็บไซต์ของคุณ คุณสามารถศึกษารายละเอียดได้ที่ นโยบายความเป็นส่วนตัว และสามารถจัดการความเป็นส่วนตัวเองได้ของคุณได้เองโดยคลิกที่ ตั้งค่า

ตั้งค่าความเป็นส่วนตัว

คุณสามารถเลือกการตั้งค่าคุกกี้โดยเปิด/ปิด คุกกี้ในแต่ละประเภทได้ตามความต้องการ ยกเว้น คุกกี้ที่จำเป็น

ยอมรับทั้งหมด
จัดการความเป็นส่วนตัว
  • คุกกี้ที่จำเป็น
    เปิดใช้งานตลอด

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

  • คุกกี้สำหรับการติดตามทางการตลาด

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

บันทึกการตั้งค่า