ทำความรู้จักกับ Data
สามารถดู video ของหัวข้อนี้ก่อนได้ ดู video
Data คืออะไร
Data ในคอมพิวเตอร์ หมายถึง ข้อมูลต่างๆ ที่ถูกเก็บและประมวลผลโดยคอมพิวเตอร์ ซึ่งสามารถอยู่ในรูปแบบต่างๆ เช่น ตัวเลข ตัวอักษร รูปภาพ เสียง วิดีโอ หรือข้อมูลเชิงสถิติ การเก็บข้อมูลเหล่านี้จะทำให้คอมพิวเตอร์สามารถนำมาใช้ประโยชน์ในงานต่างๆ ได้
ประเภทใหญ่ๆ ของ Data ในคอมพิวเตอร์ สามารถแบ่งออกเป็น:
-
Structured Data (ข้อมูลที่มีโครงสร้าง)
เป็นข้อมูลที่มีการจัดระเบียบอย่างชัดเจนและสามารถจัดเก็บในรูปแบบที่เป็นระเบียบ เช่น ตารางหรือฐานข้อมูล ตัวอย่างเช่น ข้อมูลในฐานข้อมูล SQL ที่มีแถวและคอลัมน์ที่ระบุประเภทของข้อมูลที่เก็บชัดเจน
-
Unstructured Data (ข้อมูลที่ไม่มีโครงสร้าง)
เป็นข้อมูลที่ไม่มีรูปแบบชัดเจนหรือจัดระเบียบยาก ข้อมูลประเภทนี้ประกอบด้วยไฟล์ที่เป็นเอกสาร เสียง วิ ดีโอ รูปภาพ หรือข้อความ ตัวอย่างเช่น ข้อมูลที่มาจากไฟล์ PDF หรือไฟล์วิดีโอ
-
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 จะขอแยกหัวข้อไปก่อน เนื่องจากมีรายละเอียดพอสมควร เราจะไปเน้นหนักกันในหัวข้อถัดไปแทน