วิธีทำงานอัตโนมัติด้วยสคริปต์ Python

Withi Thangan Xatnomati Dwy Skhript Python



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

การติดตั้งไพธอน

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







  1. เลือก IDE หรือตัวแก้ไขข้อความ

โปรแกรมแก้ไขข้อความใด ๆ สามารถใช้เพื่อสร้างสคริปต์ Python อย่างไรก็ตาม สภาพแวดล้อมการพัฒนาแบบรวม (IDE) รวมถึง PyCharm, Visual Studio Code หรือ Jupyter Notebook สามารถปรับปรุงกระบวนการด้วยเครื่องมือ เช่น การเน้นไวยากรณ์และการดีบักได้ อย่างไรก็ตาม เรากำลังใช้ Notepad++ ในบทความนี้



  1. กำหนดงานที่ต้องทำให้เป็นอัตโนมัติ

ซึ่งอาจเกี่ยวข้องกับอะไรก็ได้ตั้งแต่การส่งอีเมลจำนวนมาก การสร้างรายงาน การดาวน์โหลดไฟล์ และการสำรองข้อมูล



  1. ค้นคว้าไลบรารีและฟังก์ชันต่างๆ

ดูฟังก์ชันและไลบรารีที่สามารถทำให้งานย่อยเป็นแบบอัตโนมัติได้





  1. เขียนสคริปต์ใน Python

นี่คือที่ที่เรารวบรวมชิ้นส่วนทั้งหมดเพื่อสร้างสคริปต์การทำงานที่สมบูรณ์

  1. งาน

สร้างรายงานอัตโนมัติจากข้อมูลที่เก็บไว้ในสเปรดชีต



  1. สคริปต์หลาม

เราสามารถใช้สคริปต์ Python เพื่ออ่านข้อมูลจากสเปรดชีตและสร้างรายงานในรูปแบบที่หลากหลาย เช่น PDF, HTML หรือ CSV นอกจากนี้ สคริปต์ยังอาจใช้เพื่อแจกจ่ายรายงานไปยังผู้มีส่วนได้ส่วนเสียโดยอัตโนมัติผ่านทางอีเมลหรือ Slack

การสร้างรายงานโดยใช้ข้อมูลสเปรดชีตต้องใช้หลายขั้นตอน เราจะให้สคริปต์ Python แบบง่ายแก่คุณซึ่งใช้ไลบรารี Pandas เพื่ออ่านข้อมูลจากสเปรดชีต Excel และสร้างรายงาน CSV โปรดจำไว้ว่าเราอาจใช้สคริปต์นี้เพื่อสร้างรายงานที่ซับซ้อนมากขึ้นในรูปแบบอื่น ๆ และทำให้การแจ้งเตือนทางอีเมลหรือ Slack เป็นแบบอัตโนมัติตามที่ต้องการ

ติดตั้งไลบรารีที่จำเป็น

ก่อนที่จะรันสคริปต์ เราจำเป็นต้องติดตั้งไลบรารี Pandas หากยังไม่ได้ติดตั้ง:

ปิ๊ป ติดตั้ง แพนด้า openpyxl

รหัส Python มีฟังก์ชันที่เรียกว่า Generate_report() ซึ่งรับสองอาร์กิวเมนต์: เส้นทางไปยังสเปรดชีต Excel ที่มีข้อมูลเงินเดือนของพนักงาน และเส้นทางไปยังไฟล์ CSV ที่ควรบันทึกรายงาน

ฟังก์ชันจะอ่านสเปรดชีต Excel ลงในวัตถุ Pandas DataFrame ก่อน จากนั้นจะดำเนินการประมวลผลและวิเคราะห์ข้อมูลตามความจำเป็น ผลรวมของคอลัมน์ 'เงินเดือน' จะถูกคำนวณในกรณีนี้โดยฟังก์ชัน

ถัดไป ฟังก์ชันจะสร้างสตริงรายงานที่ประกอบด้วยเงินเดือนรวมของพนักงานทั้งหมด สุดท้าย ฟังก์ชันจะบันทึกรายงานเป็นไฟล์ CSV

ฟังก์ชันหลักของโค้ดระบุไฟล์ Excel อินพุตและไฟล์รายงานเอาต์พุต จากนั้นเรียกใช้ฟังก์ชัน Generate_report() เพื่อสร้างรายงาน

GenReport.py:
นำเข้าหมีแพนด้า เช่น pd_obj
def Generate_report ( emp_salary_data, emp_salary_report_file ) : :
พยายาม:
# อ่านข้อมูลจากสเปรดชีต Excel
df_obj = pd_obj.read_excel ( emp_salary_data )
# ดำเนินการประมวลผลและวิเคราะห์ข้อมูลตามความจำเป็น
# เพื่อความง่าย สมมติว่าเราต้องการคำนวณผลรวมของคอลัมน์
เงินเดือน_รวม = df_obj [ 'เงินเดือน' ] .ผลรวม ( )
#สร้างรายงาน
รายงานเงินเดือน = ฉ 'ยอดรวมของเงินเดือนพนักงานทั้งหมด: {salary_total}'
# บันทึกรายงานเป็นไฟล์ CSV
ด้วยการเปิด ( emp_salary_report_file, 'ใน' ) เช่น csv_obj:
csv_obj.เขียน ( รายงานเงินเดือน_ )

พิมพ์ ( 'สร้างรายงานและบันทึกลงใน {emp_salary_report_file}' )
ยกเว้นข้อยกเว้น เช่น อดีต:
พิมพ์ ( 'เกิดข้อผิดพลาด: {str(e)}' )
ถ้า __ชื่อ__ == '__หลัก__' : :
# ระบุไฟล์ Excel อินพุตและไฟล์รายงานเอาต์พุต
emp_salary_data = 'input_employee_data.xlsx'
emp_salary_report_file = 'salary_sum.csv'
# เรียกใช้ฟังก์ชัน Generate_report เพื่อสร้างรายงาน
Generate_report ( emp_salary_data, emp_salary_report_file )

นี่คือข้อมูลในไฟล์พนักงานอินพุต:

ทดสอบสคริปต์

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

กำหนดเวลาหรือทริกเกอร์สคริปต์

ขึ้นอยู่กับข้อกำหนดของระบบอัตโนมัติ เราอาจรันสคริปต์ Python ได้หลายวิธี:

  • การดำเนินการด้วยตนเอง: รันสคริปต์ด้วยตนเองโดยดำเนินการใน IDE หรือผ่านทางบรรทัดคำสั่งโดยใช้คำสั่งต่อไปนี้: หลาม GenerateReport.py .
  • งานที่กำหนดเวลาไว้ (Windows): เราสามารถรันสคริปต์ตามเวลาหรือช่วงเวลาที่กำหนดโดยใช้ Windows Task Scheduler เมื่อใช้บริการ Windows เรายังสามารถเรียกใช้เหตุการณ์เฉพาะได้
  • งาน Cron (Linux/macOS): เราสามารถใช้งาน cron เพื่อกำหนดเวลาให้สคริปต์ทำงานตามเวลาที่กำหนดบนระบบที่คล้าย Unix
  • ขับเคลื่อนด้วยเหตุการณ์: เราสามารถทริกเกอร์สคริปต์ของคุณเพื่อตอบสนองต่อเหตุการณ์เฉพาะ เช่น การเปลี่ยนแปลงไฟล์ การใช้ไลบรารี เช่น Watchdog หรือโดยการผสานรวมกับ Webhooks

การสำรองข้อมูล MySQL อัตโนมัติโดยใช้ Python

เพื่อให้กระบวนการสำรองข้อมูลของเซิร์ฟเวอร์ MySQL เป็นแบบอัตโนมัติตามกำหนดเวลารายชั่วโมง เราสามารถใช้ Python ร่วมกับไลบรารี “mysqlclient” เพื่อเชื่อมต่อกับฐานข้อมูล MySQL และสร้างการสำรองข้อมูล และเราสามารถใช้ตัวกำหนดเวลางานเช่น Cron (บนระบบปฏิบัติการ Unix) ระบบ) เพื่อรันสคริปต์ Python ในช่วงเวลารายชั่วโมง ต่อไปนี้เป็นสคริปต์ Python ที่คุณสามารถใช้เพื่อวัตถุประสงค์นี้:

ขั้นตอนที่ 1: ติดตั้งไลบรารีที่จำเป็น

เราจำเป็นต้องติดตั้งไลบรารี่ “mysqlclient” สำหรับการเชื่อมต่อ MySQL เราสามารถติดตั้งได้โดยใช้ pip:

ปิ๊ป ติดตั้ง mysqlclient

ปิ๊ป ติดตั้ง configparser

ขั้นตอนที่ 2: สร้างไฟล์การกำหนดค่า

สร้างไฟล์ข้อความ (เช่น mysqlconfig.ini) เพื่อจัดเก็บข้อมูลการเชื่อมต่อ MySQL รวมถึงรหัสผ่าน ต่อไปนี้เป็นตัวอย่างลักษณะของไฟล์ “mysqlconfig.ini”:

[ mysql ]
mySQL_DB_HOST = โลคัลโฮสต์
mySQL_DB_USERNAME = รูท
mySQL_DB_PASSWORD= 1234
mySQL_DB_DATABASE_NAME = แบรนด์w9_data

ขั้นตอนที่ 3: ตรวจสอบไดเรกทอรี MySQL Bin : :

คำสั่ง “mysqldump” ควรอยู่ในไดเร็กทอรี bin ของ MySQL ตรวจสอบว่า PATH ของระบบมีไดเร็กทอรี bin ด้วย เราสามารถแก้ไขตัวแปรสภาพแวดล้อม PATH เพื่อรวมตำแหน่งถังเก็บ MySQL

บน Windows: เราสามารถแก้ไข PATH ของระบบได้โดยค้นหา “ตัวแปรสภาพแวดล้อม” ในเมนู “Start” และเพิ่มไดเรกทอรี bin ของ MySQL (เช่น C:\Program Files\MySQL\MySQL Server X.X\bin) ลงในตัวแปร PATH

ขั้นตอนที่ 3: เขียนสคริปต์ Python

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

กระบวนการย่อยการนำเข้า เช่น เอสพี
จาก datetime นำเข้า datetime เช่น dt_obj
นำเข้า configparser เช่น mysql_confg
# รายละเอียดการเชื่อมต่อฐานข้อมูล MySQL
# โหลดรายละเอียดการเชื่อมต่อ MySQL จากไฟล์กำหนดค่า
config_obj = mysql_confg.ConfigParser ( )
config_obj.อ่าน ( 'mysqlconfig.ini' ) # ปรับเส้นทางหากจำเป็น
mySQL_DB_HOST = config_obj.get ( 'มายเอสคิวแอล' , 'mySQL_DB_HOST' )
mySQL_DB_USERNAME = config_obj.get ( 'มายเอสคิวแอล' , 'mySQL_DB_USERNAME' )
mySQL_DB_PASSWORD = config_obj.get ( 'มายเอสคิวแอล' , 'mySQL_DB_PASSWORD' )
mySQL_DB_DATABASE_NAME = config_obj.get ( 'มายเอสคิวแอล' , 'mySQL_DB_DATABASE_NAME' )
# ไดเร็กทอรีสำรอง
bk_dir = 'backup_directory/'
# รับวันที่และเวลาปัจจุบันสำหรับชื่อไฟล์สำรอง
การประทับเวลา = dt_obj.now ( ) .strftime ( '%Y%m%d%H%M%S' )
# กำหนดชื่อไฟล์สำรอง
my_sql_bk = ฉ 'backup_{ประทับเวลา_oj}.sql'
#คำสั่งดัมพ์ MySQL
mysql_dump_cmd = ฉ 'mysqldump -h {mySQL_DB_HOST} -u {mySQL_DB_USERNAME} -p{mySQL_DB_PASSWORD} {mySQL_DB_DATABASE_NAME} > {bk_dir}{my_sql_bk}'

พยายาม:
# ดำเนินการคำสั่ง MySQL dump เพื่อสร้างข้อมูลสำรอง
เอสพีรัน ( mysql_dump_cmd, เปลือก =จริง, ตรวจสอบ =จริง )
พิมพ์ ( 'การสำรองข้อมูลเสร็จสมบูรณ์และบันทึกเป็น '{my_sql_bk}' ใน '{bk_dir}'' )
ยกเว้น sp.CalledProcessError เช่น มันคือ:
พิมพ์ ( 'เกิดข้อผิดพลาดในการสร้างข้อมูลสำรอง: {str(e)}' )

ขั้นตอนที่ 4: ทดสอบและรันโค้ด

ขั้นตอนที่ 5: กำหนดเวลาสคริปต์ด้วย Windows Task Scheduler

ตอนนี้เรามากำหนดเวลาให้สคริปต์ Python ทำงานโดยอัตโนมัติโดยใช้ Windows Task Scheduler:

เปิดตัว Windows Task Scheduler โดยพิมพ์ 'Task Scheduler' ลงในแถบค้นหาของเมนู 'Start' หรือพิมพ์ 'taskschd.msc' ลงในกล่องโต้ตอบ 'Run' (Win + R)

เลือก 'Task Scheduler Library' จากบานหน้าต่างด้านซ้ายของ Task Scheduler

ในบานหน้าต่างด้านขวา คลิกที่ “สร้างงานพื้นฐาน…” เพื่อเปิด “สร้างตัวช่วยสร้างงานพื้นฐาน”

ป้อนชื่องานและคำอธิบาย จากนั้นกด “ถัดไป”

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

ระบุวันที่และเวลาเริ่มต้นสำหรับงานสำรองข้อมูล

เลือก “ทำซ้ำทุก ๆ:” และตั้งค่าเป็น 1 ชั่วโมง

กำหนดระยะเวลาเป็น “1 วัน” จากนั้นคลิกที่ 'ถัดไป'

เลือก 'เริ่มโปรแกรม' จากนั้นกด 'ถัดไป'

เรียกดูและเลือกไฟล์ปฏิบัติการ Python (python.exe) โดยคลิกที่ 'เรียกดู'

เรียกดูและเลือกไฟล์ปฏิบัติการ Python (python.exe) โดยคลิกที่ 'เรียกดู'

ป้อนเส้นทางแบบเต็มไปยังสคริปต์ Python ของคุณ (เช่น C:\path\to\mysql_backup.py) ในช่อง 'เพิ่มอาร์กิวเมนต์'

ป้อนไดเร็กทอรีที่มีสคริปต์ Python ของคุณ (เช่น C:\path\to\) ในช่อง 'เริ่มต้นใน (ไม่บังคับ)'

คลิกที่ 'ถัดไป'

ตรวจสอบการตั้งค่างานและคลิกที่ 'เสร็จสิ้น' เพื่อสร้างงาน

บทสรุป

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