Libro

Automate the Boring Stuff with Python ฉบับแรก: เขียน Python เพื่อลดงานซ้ำในออฟฟิศ

หนังสือ Python สำหรับคนที่ไม่ได้จะเป็นโปรแกรมเมอร์อาชีพของ Al Sweigart บทความนี้อ่านบางบทของฉบับแรก (2015) ที่ผู้เขียนเปิดให้อ่านออนไลน์ ได้แก่บทนำและบทที่ 12 เรื่อง Excel เพื่อช่วยตัดสินว่าเล่มนี้เหมาะกับคุณหรือไม่

ภาพประกอบบทความ: ปกหนังสือ Automate the Boring Stuff with Python โดย Al Sweigart

ขอบเขตของบทความ: อ่านบางบทของฉบับแรก (No Starch Press, 2015) ที่ผู้เขียนเผยแพร่ให้อ่านออนไลน์ ได้แก่บทนำทั้งบทและบทที่ 12 Working with Excel Spreadsheets รวมกับสารบัญฉบับแรกและข้อมูลแคตตาล็อก ยังไม่ได้อ่านบทอื่น ข้อสังเกตเรื่องบทอื่นมาจากสารบัญและภาพรวมในบทนำเท่านั้น

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

หนังสือเล่มนี้ว่าด้วยอะไร

Automate the Boring Stuff with Python: Practical Programming for Total Beginners เขียนโดย Al Sweigart ฉบับแรกตีพิมพ์โดย No Starch Press ปี 2015 ISBN 9781593275990 ความยาว 504 หน้าตาม Open Library

ผู้เขียนเปิดให้อ่านเนื้อหาฉบับแรกออนไลน์ที่ automatetheboringstuff.com/1e ปัจจุบันหน้าหลักของเว็บไซต์เป็นฉบับที่ 3 และหน้าหลักระบุว่าเนื้อหาออนไลน์อยู่ภายใต้สัญญาอนุญาต Creative Commons แบบ BY-NC-SA 3.0 (หน้าหลักของเว็บไซต์)

เนื้อหาครอบคลุมหัวข้ออะไร

สารบัญฉบับแรกบนเว็บไซต์มีบทนำ 18 บท และภาคผนวกสามส่วน บทนำแบ่งหนังสือเป็นสองภาค:

ภาค

บท

หัวข้อตามสารบัญ

Part I: พื้นฐาน Python

1–6

Python Basics, Flow Control, Functions, Lists, Dictionaries and Structuring Data, Manipulating Strings

Part II: งานอัตโนมัติ

7–18

Regular Expressions, Reading and Writing Files, Organizing Files, Debugging, Web Scraping, Excel Spreadsheets, PDF and Word Documents, CSV Files and JSON Data, Keeping Time and Scheduling Tasks, Sending Email and Text Messages, Manipulating Images, GUI Automation

ภาคผนวกว่าด้วยการติดตั้งโมดูลเสริม การรันโปรแกรม และเฉลยคำถามท้ายบท บทนำระบุว่าแต่ละบทในภาคที่สองมีโปรเจกต์ให้ศึกษา

แนวคิดที่น่าสนใจจากบทที่อ่าน

บทนำ

  • เขียนให้ "คนอื่นทุกคน" ผู้เขียนบอกตรง ๆ ว่าหนังสือไม่ได้มีไว้เปลี่ยนผู้อ่านเป็นนักพัฒนาซอฟต์แวร์อาชีพ แต่เขียนให้พนักงานออฟฟิศ ผู้ดูแลระบบ นักวิชาการ และคนที่ใช้คอมพิวเตอร์ทำงาน ให้เขียนโปรแกรมอัตโนมัติง่าย ๆ ได้ เช่น ย้ายและเปลี่ยนชื่อไฟล์จำนวนมาก กรอกฟอร์มออนไลน์ หรือปรับสเปรดชีต Excel

  • เลือกความง่ายมากกว่าความสวยของโค้ด ส่วน Conventions ระบุว่าหนังสือไม่ใช่คู่มืออ้างอิง โค้ดบางส่วนขัดกับแนวปฏิบัติที่ดี เช่น ใช้ global variable เพื่อให้เรียนง่าย และไม่ครอบคลุม object-oriented programming, list comprehension และ generator

  • ไม่ต้องเก่งคณิตศาสตร์ ผู้เขียนเปรียบการเขียนโปรแกรมกับการแก้ซูโดกุ คือการแตกปัญหาเป็นขั้นตอนย่อยและใช้ตรรกะ มากกว่าการคำนวณ

  • ใช้ Python 3 บทนำเตือนว่าโปรแกรมในเล่มเขียนสำหรับ Python 3 และอาจทำงานไม่ถูกต้องบน Python 2

บทที่ 12 Working with Excel Spreadsheets

บทที่ 12 ใช้โมดูล openpyxl อ่านและเขียนไฟล์ Excel บทนี้ระบุว่าอ้างอิง openpyxl เวอร์ชัน 2.3.3 เนื้อหาไล่ตั้งแต่เปิด workbook ดึง sheet และ cell แปลงตัวอักษรคอลัมน์เป็นตัวเลข เขียนค่าและสูตรลงเซลล์ เช่น =SUM(B1:B8) ปรับฟอนต์ ความกว้างคอลัมน์ freeze panes และสร้างกราฟ

โปรเจกต์หลักคืออ่านสเปรดชีตข้อมูลสำมะโนประชากรสหรัฐฯ ปี 2010 แล้วรวมจำนวนประชากรและจำนวน census tract ของแต่ละ county ซึ่งผู้เขียนชี้ว่าถ้าทำด้วยมือต้องเลือกเซลล์ของกว่า 3,000 county อีกโปรเจกต์คือแก้ค่าในสเปรดชีตตามข้อมูลที่กำหนด ผู้เขียนสรุปโครงสร้างที่ใช้ซ้ำได้ไว้ว่า โปรแกรมที่อ่าน Excel ส่วนใหญ่จะโหลดไฟล์ เตรียมโครงสร้างข้อมูล แล้ววนอ่านทีละแถว และเสนอไอเดียต่อยอด เช่น เทียบข้อมูลข้ามหลายไฟล์ หรือตรวจหาแถวว่างและข้อมูลผิดรูปแบบ

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

พื้นฐานที่ควรมีก่อนอ่าน

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

เหมาะกับใคร และใครควรเริ่มจากเล่มอื่นก่อน

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

  • เหมาะ กับผู้เริ่มต้นที่อยากเห็นผลเป็นโปรแกรมที่ใช้ได้จริงตั้งแต่ต้น

  • ไม่เหมาะ กับคนที่ต้องการเรียนแนวปฏิบัติการเขียนโค้ดระดับมืออาชีพหรือเตรียมเป็นนักพัฒนาซอฟต์แวร์ ผู้เขียนบอกเองว่าหนังสือเลือกความง่ายแทนแนวปฏิบัติที่ดีและข้ามหัวข้ออย่าง OOP

  • ควรรู้ว่าเป็นฉบับแรก ตัวอย่างอ้างอิงเครื่องมือรุ่นปี 2015 เช่น openpyxl 2.3.3 และ Python 3.4 คำสั่งบางส่วนอาจต่างจากเวอร์ชันปัจจุบัน ปัจจุบันมีฉบับที่ 3 ซึ่ง No Starch Press ระบุว่าออกเมษายน 2025 ความยาว 672 หน้า

ข้อจำกัดของข้อมูลที่ใช้ในบทความนี้

  • อ่านบทนำและบทที่ 12 ของฉบับแรกบนเว็บไซต์ผู้เขียน บทอื่นสรุปจากสารบัญและย่อหน้าภาพรวมในบทนำ

  • หน้าหลักของฉบับแรกบนเว็บไซต์มีข้อความว่าเป็นหน้าของฉบับที่ 2 ซึ่งขัดกับชื่อหน้า แต่สารบัญที่แสดงมี 18 บท และบทนำอ้าง Python 3.4 ซึ่งสอดคล้องกับฉบับปี 2015 บทความนี้ถือว่าเป็นเนื้อหาฉบับแรก

  • บทความนี้ไม่ได้รันโค้ดในบทที่ 12

แหล่งอ้างอิง

  • ปกหนังสือ Automate the Boring Stuff with Python

    Automate the Boring Stuff with Python

    Al Sweigart

    ฉบับแรกสอน Python 3 พื้นฐานแล้วต่อด้วยโปรเจกต์อัตโนมัติ เช่น จัดการไฟล์ web scraping, Excel, PDF, CSV และ JSON สำหรับผู้เริ่มต้นที่ไม่ต้องมีพื้นคณิตศาสตร์

    ดูรายละเอียด

บทความนี้อ่านจบได้ในตัวเอง หนังสือด้านบนคือจุดต่อยอดสำหรับผู้ที่ต้องการศึกษาลึกขึ้น