Skip to main content

ทำความรู้จักกับ Data

python-intro สามารถดู video ของหัวข้อนี้ก่อนได้ ดู video

Data คืออะไร​

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

ประเภทใหญ่ๆ ของ Data ในคอมพิวเตอร์ สามารถแบ่งออกเป็น:

  1. Structured Data (ข้อมูลที่มีโครงสร้าง)

    เป็นข้อมูลที่มีการจัดระเบียบอย่างชัดเจนและสามารถจัดเก็บในรูปแบบที่เป็นระเบียบ เช่น ตารางหรือฐานข้อมูล ตัวอย่างเช่น ข้อมูลในฐานข้อมูล SQL ที่มีแถวและคอลัมน์ที่ระบุประเภทของข้อมูลที่เก็บชัดเจน

  2. Unstructured Data (ข้อมูลที่ไม่มีโครงสร้าง)

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

  3. Semi-Structured Data (ข้อมูลที่มีโครงสร้างกึ่งหนึ่ง)

    เป็นข้อมูลที่มีโครงสร้างไม่ชัดเจนเท่ากับข้อมูลที่มีโครงสร้าง แต่ยังมีองค์ประกอบของการจัดระเบียบ เช่น ไฟล์ JSON หรือ XML ที่มีรูปแบบโครงสร้างที่เข้าใจได้ แต่ไม่ได้เข้มงวดเท่ากับข้อมูลในตาราง

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

ซึ่งโดยปกติ ประเภทที่จัดการง่ายที่สุดคือ Structured Data (ไม่ว่าจะเป็นทั้ง Structured Data และ Semi-Structured Data) Structured Data จัดการได้ง่ายกว่า Unstructured Data ในการเขียนโปรแกรมเพราะมีรูปแบบและโครงสร้างที่ชัดเจน เช่น ตารางหรือฐานข้อมูลที่มีแถวและคอลัมน์ ทำให้โปรแกรมสามารถเข้าถึงและประมวลผลข้อมูลตามค่าที่กำหนดไว้อย่างง่ายดาย การค้นหา แก้ไข และวิเคราะห์ข้อมูลจึงมีประสิทธิภาพและตรงไปตรงมา ต่างจาก Unstructured Data ที่ไม่มีรูปแบบชัดเจน ทำให้ต้องใช้เทคนิคพิเศษ เช่น การประมวลผลข้อความ (NLP) หรือการวิเคราะห์ข้อมูลรูปภาพ เพื่อดึงข้อมูลที่ต้องการได้

ทีนี้เราจะเริ่มมาเรียนรู้ python กับการจัดการ data กัน

Python กับ Data Handling​

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

  • Pandas library ยอดนิยมสำหรับการจัดการ Structured Data โดยเฉพาะข้อมูลในรูปแบบตาราง (DataFrame) Pandas ช่วยให้นักพัฒนาสามารถอ่าน, เขียน, จัดเรียง, กรอง, รวมข้อมูล, และวิเคราะห์ข้อมูลจากไฟล์ CSV, Excel, SQL Database ได้ง่าย ๆ ด้วยฟังก์ชันที่ใช้งานง่ายและประสิทธิภาพสูง
  • SQLAlchemy เป็น library ที่ช่วยในการจัดการ Structured Data ผ่านฐานข้อมูลแบบ SQL โดยทำหน้าที่เป็น Object Relational Mapping (ORM) ช่วยให้นักพัฒนาสามารถเขียนโค้ด Python เพื่อทำงานกับฐานข้อมูลโดยไม่ต้องเขียน SQL Query โดยตรง
  • Excel Libraries (openpyxl, xlrd) เพื่อจัดการข้อมูล Structured Data ที่อยู่ในรูปแบบไฟล์ Excel โดยการอ่านหรือเขียนข้อมูลในแต่ละเซลล์ของ spreadsheet

ซึ่งในหัวข้อนี้ เราจะมาเรียนรู้จากการอ่านข้อมูลพื้นฐานด้วยกัน 4 ประเภทคือ CSV, SQL, JSON, Excel file กัน โดยเราขอขยายความ file ทั้ง 4 ประเภท ตามนี้

  • CSV (Comma-Separated Values) ไฟล์ CSV เป็นไฟล์ที่ใช้สำหรับการเก็บข้อมูลในรูปแบบของตาราง โดยแยกค่าในแต่ละคอลัมน์ด้วยเครื่องหมายจุลภาค (Comma) หรือบางครั้งอาจใช้เครื่องหมายอื่นเช่นเครื่องหมายจุดอัฒภาค (Semicolon) ไฟล์ CSV เป็นรูปแบบที่เรียบง่ายและเป็นที่นิยมสำหรับการแลกเปลี่ยนข้อมูลระหว่างระบบต่างๆ เนื่องจากสามารถเปิดและแก้ไขได้ง่ายในโปรแกรม Spreadsheet เช่น Microsoft Excel หรือ Google Sheets รวมถึงสามารถอ่านและเขียนได้โดยใช้โปรแกรมภาษา เช่น Python และ R
  • SQL (Structured Query Language) SQL เป็นภาษาที่ใช้ในการจัดการและสอบถามข้อมูลในฐานข้อมูลเชิงสัมพันธ์ (Relational Database) โดยการใช้ SQL นักพัฒนาสามารถทำงานกับข้อมูลในตารางที่มีโครงสร้างแน่นอน เช่น การดึงข้อมูล การเพิ่มข้อมูล การอัปเดต หรือการลบข้อมูล SQL ช่วยให้การทำงานกับฐานข้อมูลเช่น MySQL, PostgreSQL, และ SQLite เป็นไปอย่างเป็นระบบและมีประสิทธิภาพ เหมาะสำหรับการจัดการข้อมูลปริมาณมาก
  • JSON (JavaScript Object Notation) JSON เป็นรูปแบบการเก็บข้อมูลที่มีโครงสร้างแบบกึ่งหนึ่ง (Semi-Structured Data) โดยนิยมใช้สำหรับการแลกเปลี่ยนข้อมูลระหว่างเซิร์ฟเวอร์และเว็บเบราว์เซอร์ ข้อมูลใน JSON จะถูกจัดเก็บในรูปแบบของคู่คีย์และค่า (Key-Value Pairs) ที่สามารถซ้อนกันเป็นโครงสร้างลำดับชั้นได้ JSON มีความง่ายต่อการอ่านทั้งสำหรับมนุษย์และเครื่องจักร และถูกใช้งานอย่างกว้างขวางในระบบ API และการพัฒนาเว็บ
  • Excel File ไฟล์ Excel เป็นไฟล์ที่สร้างโดยโปรแกรม Microsoft Excel หรือโปรแกรมสเปรดชีตอื่นๆ โดยข้อมูลในไฟล์ Excel จะแสดงในรูปแบบตารางที่มีแถวและคอลัมน์ และสามารถใช้สูตรคำนวณเพื่อทำการวิเคราะห์ข้อมูล Excel รองรับการจัดรูปแบบข้อมูล การสร้างกราฟ และฟังก์ชันการคำนวณที่ซับซ้อน ไฟล์ Excel สามารถบันทึกได้หลายรูปแบบ เช่น .xlsx หรือ .xls และเป็นที่นิยมสำหรับการจัดเก็บและวิเคราะห์ข้อมูลทางธุรกิจ

ซึ่งในหัวข้อนี้ เราจะขอพาทุกคนมาเล่นกับไฟล์ CSV, Excel, JSON และ SQL (อย่างง่ายผ่าน SQLite) กันก่อน เพื่อให้เกิดความคุ้นเคยในการหยิบข้อมูลมาใช้ใน python กัน

สำหรับ SQL เดี๋ยวเราแบบ full detail จะขอแยกหัวข้อไปก่อน เนื่องจากมีรายละเอียดพอสมควร เราจะไปเน้นหนักกันในหัวข้อถัดไปแทน