ในโลกของการวิเคราะห์และจัดการข้อมูล หนึ่งในไลบรารี Python ที่ได้รับความนิยมมากที่สุดคือ นุ่น. มีเครื่องมืออันทรงพลังมากมายสำหรับการทำงานกับข้อมูลที่มีโครงสร้าง ทำให้ง่ายต่อการจัดการ แสดงภาพ และวิเคราะห์ หนึ่งในหลาย ๆ งานที่นักวิเคราะห์ข้อมูลอาจพบคือการนำเข้าข้อมูลจาก CSV ไฟล์ลงใน a PostgreSQL ฐานข้อมูล ในบทความนี้ เราจะพูดถึงวิธีการทำงานนี้อย่างมีประสิทธิภาพและประสิทธิผลโดยใช้ทั้งสองอย่าง นุ่น และ โรคจิต 2 ห้องสมุด. นอกจากนี้ เราจะสำรวจฟังก์ชันและไลบรารีต่างๆ ที่เกี่ยวข้องในกระบวนการนี้ เพื่อให้มีความเข้าใจอย่างครอบคลุมเกี่ยวกับโซลูชัน
รู้เบื้องต้นเกี่ยวกับ Pandas และ PostgreSQL
Pandas เป็นไลบรารี Python ที่มีประสิทธิภาพซึ่งมีโครงสร้างข้อมูลที่ใช้งานง่ายและฟังก์ชันการจัดการข้อมูลสำหรับการวิเคราะห์ข้อมูล มีประโยชน์อย่างยิ่งเมื่อต้องจัดการกับชุดข้อมูลขนาดใหญ่หรือเมื่อคุณต้องการแปลงข้อมูลที่ซับซ้อน ในทางกลับกัน PostgreSQL เป็นระบบจัดการฐานข้อมูลเชิงวัตถุ (ORDBMS) ฟรีและโอเพ่นซอร์สที่เน้นความสามารถในการขยายและการปฏิบัติตาม SQL ใช้กันอย่างแพร่หลายสำหรับงานการจัดการข้อมูลขนาดใหญ่และซับซ้อน
ตอนนี้ สมมติว่าเรามีไฟล์ CSV ที่มีชุดข้อมูลขนาดใหญ่ และเราต้องการนำเข้าไปยังฐานข้อมูล PostgreSQL วิธีทั่วไปในการบรรลุภารกิจนี้คือการใช้ Pandas ร่วมกับไลบรารี psycopg2 ซึ่งมีอแด็ปเตอร์สำหรับฐานข้อมูล PostgreSQL ที่ช่วยให้เราสามารถสื่อสารกับฐานข้อมูลโดยใช้ Python
Pandas: การอ่านไฟล์ CSV
ขั้นตอนแรกในกระบวนการของเราคือการอ่านเนื้อหาของไฟล์ CSV โดยใช้ Pandas
import pandas as pd filename = "example.csv" df = pd.read_csv(filename)
รหัสนี้ใช้ pd.read_csv() ฟังก์ชันซึ่งอ่านไฟล์ CSV และส่งคืนวัตถุ DataFrame ด้วยวัตถุ DataFrame เราสามารถจัดการและวิเคราะห์ข้อมูลได้อย่างง่ายดาย
การเชื่อมต่อกับฐานข้อมูล PostgreSQL
ขั้นตอนต่อไปคือการเชื่อมต่อกับฐานข้อมูล PostgreSQL โดยใช้ไลบรารี psycopg2 ในการทำเช่นนี้ เราจำเป็นต้องติดตั้งไลบรารี psycopg2 ซึ่งสามารถทำได้โดยใช้ pip:
pip install psycopg2
เมื่อติดตั้งไลบรารีแล้ว เราจำเป็นต้องเชื่อมต่อกับฐานข้อมูล PostgreSQL ของเรา:
import psycopg2 connection = psycopg2.connect( dbname="your_database_name", user="your_username", password="your_password", host="your_hostname", port="your_port", )
พื้นที่ psycopg2.เชื่อมต่อ() ฟังก์ชันสร้างการเชื่อมต่อกับเซิร์ฟเวอร์ฐานข้อมูลโดยใช้ข้อมูลรับรองที่ให้มา หากการเชื่อมต่อสำเร็จ ฟังก์ชันจะส่งคืนวัตถุการเชื่อมต่อที่เราจะใช้เพื่อโต้ตอบกับฐานข้อมูล
การสร้างตารางใน PostgreSQL
ตอนนี้เรามีข้อมูลของเราใน DataFrame object และการเชื่อมต่อกับฐานข้อมูล PostgreSQL แล้ว เราสามารถสร้างตารางในฐานข้อมูลเพื่อเก็บข้อมูลของเราได้
cursor = connection.cursor() create_table_query = ''' CREATE TABLE IF NOT EXISTS example_table ( column1 data_type, column2 data_type, ... ) ''' cursor.execute(create_table_query) connection.commit()
ในข้อมูลโค้ดนี้ ขั้นแรกเราจะสร้างวัตถุเคอร์เซอร์โดยใช้ การเชื่อมต่อเคอร์เซอร์ () วิธี. เคอร์เซอร์ใช้เพื่อดำเนินการกับฐานข้อมูล เช่น การสร้างตารางและการแทรกข้อมูล ต่อไป เราจะกำหนดคิวรี SQL สำหรับสร้างตาราง และดำเนินการโดยใช้ เคอร์เซอร์.ดำเนินการ () วิธี. สุดท้าย เรายอมรับการเปลี่ยนแปลงกับฐานข้อมูลด้วย การเชื่อมต่อ คอมมิท ().
การแทรกข้อมูลลงในฐานข้อมูล PostgreSQL
ตอนนี้เรามีตารางแล้ว เราสามารถแทรกข้อมูลจาก DataFrame ของเราลงในฐานข้อมูล PostgreSQL โดยใช้ to_sql() วิธีการที่ Pandas ให้มา
from sqlalchemy import create_engine engine = create_engine("postgresql://your_username:your_password@your_hostname:your_port/your_database_name") df.to_sql("example_table", engine, if_exists="append", index=False)
ในข้อมูลโค้ดนี้ ขั้นแรกเราจะสร้างเครื่องมือฐานข้อมูลโดยใช้ create_engine() ฟังก์ชันของไลบรารี SQLAlchemy ซึ่งต้องใช้สตริงการเชื่อมต่อที่มีข้อมูลรับรองฐานข้อมูลของเรา จากนั้นเราก็ใช้ to_sql() วิธีการแทรกข้อมูลจาก DataFrame ของเราลงในตาราง “example_table” ในฐานข้อมูล PostgreSQL
โดยสรุป บทความนี้จะให้คำแนะนำที่ครอบคลุมเกี่ยวกับวิธีนำเข้าข้อมูลจากไฟล์ CSV ไปยังฐานข้อมูล PostgreSQL โดยใช้ Pandas และ psycopg2 ด้วยการรวมความง่ายในการจัดการข้อมูลใน Pandas เข้ากับพลังและความสามารถในการปรับขนาดของ PostgreSQL เราจึงสามารถบรรลุโซลูชันที่ราบรื่นและมีประสิทธิภาพสำหรับงานทั่วไปในการนำเข้าข้อมูล CSV ไปยังฐานข้อมูล