Python Pandas ช่วยงาน office อัตโนมัติ csv, excel ผ่าน Jupyter Notebooks

Python Pandas ช่วยงาน office อัตโนมัติ  csv, excel ผ่าน Jupyter Notebooks

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

จุดประสงค์

Software & Tools

- Python (Version 3+)

- ติดตั้งตัว JupyterNotebook

****

เริ่มจากการลองอ่านเขียน File ข้อมูลและติดตั้ง Jupyter Notebooks

โดยคลิ๊กที่ลิ้งค์ยูทูปด้านล่างได้เลย

  1. ติดตั้ง Jupyter Notebooks

  2. ติดตั้งตัว pandas

เปิด Jupyter Notebooks

เมื่อทำการติดตั้งเครื่องมือทั้งหมดเรียบร้อยเเล้วก็มาลงมือทำกันเลยโดยเริ่มจากการเปิดตัวโปรเเกรมขึ้นมาซึ่งสามารถเปิดได้หลายวิธี ซึ่งผมจะเลือกเปิดจาก Terminal



โดยการพิมพ์**“ jupyter notebook “** จากนั้นกด Enter ( ขั้นตอนนี้จะต้องทำการติดตั้งตัว Jupyter ก่อนจึงจะสามารถเรียกใช้ได้ )



จากนั้นจะมีหน้าต่างตัวโปรเเกรม Jupyterขึ้นมาบน Browser ให้เราเข้าไปยัง Folder ที่ต้องการจะใช้งานจากนั้น กดที่ “ New “ เเละไปที่ ” python3 “


จึงจะได้โปรเเกรมที่พร้อมใช้งานมา สามารถเช็คความถูกต้องได้จากรูปภาพด้านล่าง


อิมพอร์ต Pandas และทดสอบอ่านไฟล์ Excel

จากนั้นทำการ importตัว Library pandas เข้ามาใช้งานโดยใช้ตัวย่อคือ “pd”

import pandas as pd

จากนั้นให้อ่าน ข้อมูล File เข้ามาเเละทำการเเสดงผลโดยครั้งนี้เราจะใช้เป็น File **“.xlsx”**โดยวิธีที่ง่ายที่สุดคือให้นำ File ที่ต้องการเรียกใช้ไปไว้ใน Folder เดียวกับที่สร้าง File ตัว Jupyter Notebooks ไว้ จากนั้นใช้คำสั่งตาม Code ด้านล่าง

import pandas as pd
pd.read_excel('Filename.xlsx')


เพียงเท่านี้ก็ถือว่าสามารถอ่าน Fileหรือ สามารถดึงข้อเข้ามาได้เรียบร้อย

สร้างไฟล์ Excel

ต่อไปจะเป็นการเขียนหรือสร้าง File ขึ้นมา สามารถดู Code ได้จากด้านล่าง

```

import pandas as pd df = pd.DataFrame({1,2,3,4,5}) df.to_excel(‘test.xlsx’)


## ในบรรทัดที่ 2 นั้นจะเป็นการสร้าง **DataFrame** ขึ้นมาโดยการ ระบุข้อมูลด้านในเป็น 1-5

ในบรรทัดที่ 3 นั้นเป็นการสร้าง File ขึ้นมาโดยคำสั่ง **"to_excel"** ซึ่งนอกจากนี้ก็สามารถสร้าง File ประเภทอื่นได้ เช่น **CSV** , **JSON** , **dict** เป็นต้น

เมื่อกด **RUN**จะมี File ปรากฏขึ้นใน**Folder** ที่เราสร้าง File ไว้ เมื่อเปิดจะได้เหมือนรูปด้านล่าง

---

## ![](/media/django-summernote/2020-11-17/4def4f1c-332f-468c-80f9-a70dd17933cd.png)

---

## เมื่อทุกคนลอง **Test** มาถึงตรงนี้เเล้วเเสดงว่าสามารถ อ่านเเละเขียน**File**ได้ตามจุดประสงค์เรียบร้อย

ทำการจัดข้อมูล

ต่อไปเราก็จะมาลองจัดการข้อมูลที่มีมากกว่า 1 ชุด ซึ่งชุดเเรก คือ **order.xlsx**

---

## ![](/media/django-summernote/2020-11-17/1c07a7ac-5bcf-4aca-859e-6beac166ca94.png)

ในข้อมูลชุดนี้จะระบุ รหัสรายการสินค้า,สินค้าที่สั่งซื้อ,จำนวนสินค้า

---

## และข้อมูลชุดที่ 2 คือ **price.csv**

---

## ![](/media/django-summernote/2020-11-17/4ef0c0a4-8b3d-4d79-8942-7d102f106a3b.png)

ในข้อมูลชุดนี้จะระบุ รายการสินค้า,ราคาสินค้า

---

## ซึ่งเราจะทำการอ่าน File ชุดข้อมูลที่ 2 ที่มีชนิดเเตกต่างกันเข้ามาเเละทำการใส่ราคาให้ของสินค้าในเเต่ละรายการใน ข้อมูลชุด **"order"**จากนั้นจะทำการคำนวนราคารวมในเเต่ละรหัสรายการ สามารถดู Code ได้จากด้านล่างนี้ครับ

import pandas as pd order = pd.read_excel(‘order.xlsx’) #อ่าน File “order” price = pd.read_csv(‘price.csv’) #อ่าน file “price” order.merge(price,on=‘Product’,how=‘left’)


## ซึ่งในบรรทัดสุดท้ายจะเป็นคำสั่งที่ใช้ในการเทียบเเละใส่ราคาให้ในเเต่ละช่อง

---

## ![](/media/django-summernote/2020-11-17/ed4760bf-33ff-4157-b190-97cb81716c95.png)

---

## จากนั้นจะทำการรวมราคาโดยการคูณกันใน column **"Number of product"** กับ **"Price"** ใส่ลงไปใน column **"Total"**ซึ่งสามาถดู Code คำสั่งได้ด้านล่างนี้เลย

import pandas as pd order = pd.read_excel(‘order.xlsx’) #อ่าน File “order” price = pd.read_csv(‘price.csv’) #อ่าน file “price” neworder = order.merge(price,on=‘Product’,how=‘left’) neworder[‘Total’] = neworder[‘Price’] * neworder[‘Number of product’]neworder


ในบรรทัดสุดท้ายที่เพิ่มขึ้นมานี้เป็นการสร้าง **column** โดย ระบุที่มาว่าให้นำ column **"Number of product"** กับ **"Price"** มาคูณกัน

---

## ![](/media/django-summernote/2020-11-17/5dfe3c2e-a0bb-4567-9aaa-c050a82d1758.png)

---

## เมื่อเสร็จเเล้วเราก็จะได้ราคารวมของในเเต่ละรหัสสินค้า

ทางเรา STACKPYTHON คาดหวังว่าทุกคนที่อ่านบทความนี้จบ จะได้รับความรู้ครบถ้วนตามจุดประสงค์ที่ทางเราได้ตั้งไว้ข้างต้น

---

## *ขอบคุณมากครับที่เข้ามาอ่านบทความต่างๆของทาง STACKPYTHON สำหรับบทความนี้ก็ขอจบลงเพียงเท่านี้ก่อนครับ พบกันบทความหน้าได้เลยครับ มีคำถามหรือข้อเสนอแนะตรงไหนก็คอมเมนต์กันเข้ามาได้เลยนะครับ*

*Nu STACKPYTHON*

#### ฝาก [YouTube Channel](https://www.youtube.com/channel/UCOf2Vk11GwnMxbtSqVNSsUQ)ของ STACKPYTHON กันด้วยนะครับ