แก้ไขแล้ว: ตารางแพนด้าเป็น postgresql

ในโลกของการวิเคราะห์และจัดการข้อมูล หนึ่งในไลบรารี 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 ไปยังฐานข้อมูล

กระทู้ที่เกี่ยวข้อง:

แสดงความคิดเห็น