วิธีการดึงข้อมูลจากฐานข้อมูลใน Python? การนำเข้าข้อมูลโดยใช้ Python

เผยแพร่แล้ว: 2021-03-09

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

สารบัญ

การดึงข้อมูลด้วย P ython Database

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

ในคู่มือต่อไปนี้ เราจะพูดถึงวิธีการแยกข้อมูลโดยใช้ PostgreSQL ซึ่งเป็นระบบฐานข้อมูลเชิงสัมพันธ์แบบโอเพนซอร์ส มีฟังก์ชัน ROW_TO_JSON ที่ส่งคืนชุดผลลัพธ์เป็นออบเจ็กต์ JSON ซึ่งล้อมรอบด้วยวงเล็บปีกกา {} ประเภทข้อมูล JSON จะช่วยให้คุณจัดการผลลัพธ์การสืบค้นได้สะดวกยิ่งขึ้น แต่ก่อนที่เราจะเริ่มต้น ตรวจสอบให้แน่ใจว่าคุณได้ติดตั้งสภาพแวดล้อมเสมือน เช่น psycopg2-binary

ข้อมูล พื้นฐานเกี่ยวกับ ฐานข้อมูล Python

สมมติว่าคุณมีฐานข้อมูล PostgreSQL ของ American National Football League (NFL) ซึ่งจะรวมถึงข้อมูลเกี่ยวกับผู้เล่น โค้ช และตารางของทีม นอกจากนี้ ให้สังเกตรายละเอียดต่อไปนี้เพื่อรับเบาะแสเกี่ยวกับข้อมูลที่เก็บไว้:

  • ตารางข้อมูลผู้เล่นจะมีรายละเอียดต่างๆ เช่น athelete_id ซึ่งเป็นคีย์หลัก ชื่อและนามสกุลของผู้เล่น หมายเลขเสื้อ น้ำหนัก (กก.) ส่วนสูง (ม.) และประเทศต้นทาง นอกจากนี้ยังถือ team_id ซึ่งเป็นกุญแจต่างประเทศที่ระบุทีมนักกีฬาแต่ละคน
  • ตารางข้อมูลเกี่ยวกับโค้ชมี coach_id (คีย์หลัก) พร้อมด้วยชื่อและนามสกุล และ team_id (คีย์ต่างประเทศที่อ้างอิงฟิลด์ตารางของทีม)
  • สุดท้าย มีตารางของทีมที่อธิบายชื่อทีมฟุตบอล การประชุม อันดับ และการชนะและการสูญเสียทั้งหมด (แบ่งเป็น 'เจ้าบ้าน' และ 'ทีมเยือน') ในที่นี้ คีย์หลักคือ team_id ซึ่งมีการอ้างอิงในตารางด้านบน

เมื่อคุณคุ้นเคยกับชุดข้อมูลแล้ว ให้เราสำรวจวิธีเขียนแบบสอบถาม SQL เพื่อดึงรายชื่อทีม ตัวอย่างเช่น คุณต้องการทีมฟุตบอลที่จัดลำดับตามการประชุมและอันดับของพวกเขา คุณยังต้องการแยกจำนวนนักกีฬาหรือผู้เล่นในแต่ละทีมพร้อมกับชื่อโค้ชของพวกเขาด้วย คุณอาจต้องการทราบจำนวนการชนะและแพ้ของทีมทั้งในบ้านและนอกบ้าน

ทำตามขั้นตอนด้านล่างเพื่อเริ่มกระบวนการนี้:

เลือก

f.name,

ฉ.เมือง

ฉ.การประชุม

f.conference_rank,

COUNT(a.player_id) AS number_of_athletes,

CONCAT(c.first_name, ' ', c.last_name) ในฐานะโค้ช

f.home_wins,

f.away_wins

จาก นักกีฬา a, ทีม f, ผู้ฝึกสอน c

โดยที่ a.team_id = f.team_id

และ c.team_id = f.team_id

กลุ่มตาม f.name, c.first_name, c.last_name, f.city, f.conference, f.conference_rank, f.home_wins, f.away_wins

เรียงตาม f.conference, f.conference_rank

หลังจากนี้ คุณสามารถวาร์ปการสืบค้นภายในฟังก์ชัน JSON ที่เรากล่าวถึงก่อนหน้านี้ (ROW_TO_JSON) การดำเนินการนี้จะบันทึกข้อมูลลงในไฟล์ชื่อ query.sql ในไดเร็กทอรีปัจจุบันของคุณ ตอนนี้ ดำเนินการตามขั้นตอนด้านล่าง

เลือก ROW_TO_JSON(team_info) จาก (

เลือก

f.name,

ฉ.เมือง

ฉ.การประชุม

f.conference_rank,

COUNT(a.athelete_id)AS number_of_atheletes,

CONCAT(c.first_name, ' ', c.last_name) ในฐานะโค้ช

f.home_wins,

f.away_wins

จาก นักกีฬา a, ทีม f, ผู้ฝึกสอน c

โดยที่ a.team_id = f.team_id

และ c.team_id = f.team_id

กลุ่มตาม f.name, c.first_name, c.last_name, f.city, f.conference, f.conference_rank, f.home_wins, f.away_wins

เรียงตาม f.conference, f.conference_rank

) AS team_info

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

นอกจากนี้ เพื่อหลีกเลี่ยงไม่ให้ตัวแปรสภาพแวดล้อมของคุณเปิดเผย คุณสามารถนำการเปลี่ยนแปลงบางอย่างไปใช้กับไฟล์การเริ่มต้นของคุณได้ เลือกวิธีการใดๆ ต่อไปนี้ ขึ้นอยู่กับความต้องการของคุณ:

  • สำหรับ Windows: แผงควบคุม → ระบบ → การตั้งค่าระบบขั้นสูง → แท็บขั้นสูง → ตัวแปรสภาพแวดล้อม
  • สำหรับสภาพแวดล้อมที่เหมือน Unix: ต่อท้ายสองบรรทัดเกี่ยวกับชื่อผู้ใช้และรหัสผ่านของคุณเข้ากับไฟล์การเริ่มต้นของคุณ

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

นำเข้าระบบปฏิบัติการ

นำเข้า psycopg2 เป็น p

จากข้อผิดพลาดการนำเข้า psycopg2

จากนั้น เราจะสร้างอินสแตนซ์ของการเชื่อมต่อด้วยการโหลดเนื้อหาของ query.sql เปิดไฟล์ฐานข้อมูล SQL โดยใช้คำสั่งเปิดและอ่าน และเชื่อมต่อกับฐานข้อมูล NFL โดยใช้ฟังก์ชันเชื่อมต่อโดยระบุผู้ใช้ฐานข้อมูล รหัสผ่าน โฮสต์ และหมายเลขพอร์ต

อ่านเพิ่มเติม: โครงการ Python บน GitHub

วิธีการดึงข้อมูลจากฐานข้อมูลใน Python?

เมื่อคุณสร้างการเชื่อมต่อฐานข้อมูลแล้ว คุณสามารถดำเนินการค้นหาต่อได้ คุณต้องใช้โครงสร้างการควบคุมที่เรียกว่า 'เคอร์เซอร์' ง่ายพอๆ กับการเขียน “cursor = conn.cursor()” และต่อมาคือ “cursor.execute(query)” ผลลัพธ์จะมีรายการสิ่งอันดับ (หนึ่งองค์ประกอบ) ในรูปแบบพจนานุกรม

ผลลัพธ์ = cursor.fetchall()

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

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

ดังนั้นโปรแกรมการศึกษาระดับสูงกว่าปริญญาตรีส่วนใหญ่จึงรวมความรู้เกี่ยวกับเทคนิคเหล่านี้ไว้เป็นส่วนหนึ่งของหลักสูตร ตัวอย่างบางส่วน ได้แก่ Associate Diploma in Data Science (IIIT-บังกาลอร์) และ Global Master Certificate in Business Analytics (Michigan State University)

ชำระเงิน: แนวคิดโครงการโอเพ่นซอร์สของ Python

บทสรุป

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

เราหวังว่าคู่มือนี้จะช่วยให้คุณพบความชัดเจนและกระตุ้นความอยากรู้อยากเห็นของคุณ!

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

คุณจะดึงข้อมูลจาก API โดยใช้คำขอ Python ได้อย่างไร

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

จะเชื่อมต่อ SQLite กับ Python ได้อย่างไร

ก. เราต้องนำเข้า sqlite3 เพื่อใช้ SQLite
ข. จากนั้นใช้วิธีเชื่อมต่อ ทำการเชื่อมต่อและระบุชื่อฐานข้อมูลที่คุณต้องการเข้าถึง หากมีไฟล์ที่มีชื่อนั้นอยู่ ไฟล์นั้นจะถูกเปิดขึ้น Python จะสร้างไฟล์ด้วยชื่อที่ให้มาหากคุณไม่ได้ระบุ
ค. หลังจากนั้น วัตถุเคอร์เซอร์จะถูกสร้างขึ้นซึ่งอาจส่งคำสั่ง SQL เคอร์เซอร์เป็นโครงสร้างการควบคุมสำหรับการสำรวจและดึงข้อมูลบันทึกฐานข้อมูล เมื่อต้องรับมือกับ Python เคอร์เซอร์นั้นสำคัญมาก วัตถุเคอร์เซอร์จะใช้เพื่อดำเนินการคำสั่งทั้งหมด
ง. สร้างอ็อบเจ็กต์และเขียนคำสั่ง SQL ลงไปพร้อมกับความคิดเห็นเพื่อสร้างตารางในฐานข้อมูล ตัวอย่าง: - sql_comm = คำสั่ง SQL
อี และการรันคำสั่งนั้นง่ายมาก ดำเนินการเมธอดเคอร์เซอร์ โดยส่งชื่อของคำสั่ง sql เป็นอาร์กิวเมนต์ บันทึกรายการคำสั่งเป็นตัวแปร sql_comm และรันคำสั่งเหล่านั้น หลังจากที่คุณทำงานทั้งหมดของคุณเสร็จเรียบร้อยแล้ว ให้บันทึกการแก้ไขลงในไฟล์โดยดำเนินการแก้ไข จากนั้นยกเลิกการเชื่อมต่อ

Python ดีสำหรับฐานข้อมูลหรือไม่?

Python เหมาะอย่างยิ่งสำหรับข้อมูลตารางที่มีโครงสร้างซึ่งสามารถรับได้ด้วย SQL แต่ต้องมีการจัดการเพิ่มเติมซึ่งจะทำได้ยากด้วย SQL เพียงอย่างเดียว