การโหลด CSV เข้าสู่ตาราง
ทำได้ดีมากในการแทรกข้อมูลลงในตาราง! ตอนนี้จะได้เรียนรู้วิธีโหลดเนื้อหาจากไฟล์ CSV เข้าสู่ตาราง
วิธีหนึ่งคืออ่านไฟล์ CSV ทีละบรรทัด สร้าง dictionary จากแต่ละบรรทัด แล้วใช้ insert() เหมือนที่ทำในแบบฝึกหัดที่แล้ว
แต่มีวิธีที่เร็วกว่าโดยใช้ pandas สามารถอ่านไฟล์ CSV เข้าสู่ DataFrame ได้ด้วยฟังก์ชัน read_csv() (น่าจะคุ้นเคยกันดีอยู่แล้ว แต่ถ้าต้องการทบทวนสามารถรัน help(pd.read_csv) ในคอนโซลได้) จากนั้นเรียกใช้เมธอด .to_sql() (docs) บน DataFrame เพื่อโหลดข้อมูลเข้าสู่ตาราง SQL ในฐานข้อมูล โดยคอลัมน์ของ DataFrame ต้องตรงกับคอลัมน์ของตาราง SQL
.to_sql() มีพารามิเตอร์หลายตัว แต่ในแบบฝึกหัดนี้จะใช้ดังนี้:
nameคือชื่อของตาราง SQL (เป็น string)conคือการเชื่อมต่อกับฐานข้อมูลที่จะใช้อัปโหลดข้อมูลif_existsกำหนดพฤติกรรมเมื่อตารางมีอยู่แล้วในฐานข้อมูล ค่าที่เป็นไปได้ได้แก่"fail","replace"และ"append"index(TrueหรือFalse) กำหนดว่าจะเขียน index ของ DataFrame เป็นคอลัมน์หรือไม่
ในแบบฝึกหัดนี้ จะอัปโหลดข้อมูลจากไฟล์ census.csv เข้าสู่ตารางที่มีอยู่แล้วชื่อ "census" โดย connection ไปยังฐานข้อมูลถูกสร้างไว้ให้แล้ว
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Python เบื้องต้นสำหรับฐานข้อมูล
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# import pandas
import pandas as pd
# read census.csv into a DataFrame : census_df
census_df = pd.___(___, ___=___)
# rename the columns of the census DataFrame
census_df.columns = [___, ___, ___, 'pop2000', 'pop2008']