การแทรก DataFrame ลงในฐานข้อมูลโดยไม่ต้องเขียนโค้ด SQL สามารถทำได้ด้วย SQLAlchemy และ Pandas ด้วย Python
SQLAlchemy เป็นชุดเครื่องมือ Python SQL และ Object Relational Mapper ที่ให้นักพัฒนาแอปพลิเคชันได้รับพลังและความยืดหยุ่นของ SQL อย่างเต็มที่
การรวม Pandas และ SQLAlchemy ช่วยให้คุณสามารถแทรก DF ทั้งหมดลงในฐานข้อมูลของคุณโดยไม่ต้องใช้ SQL ใด ๆ
import pandas as pd import sqlalchemy as db import psycopg2 import psycopg2.extras engine = db.create_engine('postgresql+psycopg2://user:password@hoste/DB Name') df = pd.read_csv(path) df.to_sql('table',engine, schema='master',index=False, if_exists='replace')
พารามิเตอร์ “if_exists” มาพร้อมกับตัวเลือกที่แตกต่างกันสามตัวเลือกโดยที่ความล้มเหลวถูกตั้งค่าเป็นค่าเริ่มต้น:
- 'fail' -›Raise a ValueError
- 'แทนที่' -›วางตารางก่อนที่จะแทรกค่าใหม่
- 'ผนวก' -›ผนวก: แทรกค่าใหม่ของตารางที่มีอยู่
โปรดทราบว่าพารามิเตอร์การแทนที่จะทิ้งทั้งตารางและสร้างใหม่ตามค่าใหม่ ดังนั้น คุณจะสูญเสียข้อมูลที่มีอยู่ในตารางทั้งหมด
หากใช้สคีมาเริ่มต้น ก็ไม่จำเป็นต้องมีพารามิเตอร์สคีมา
พารามิเตอร์ดัชนีจะไม่รวมดัชนี DataFrame ซึ่งจะปรากฏในตารางตามค่าเริ่มต้น