קובצי CSV מפשטים את תהליך אחסון הנתונים. מכיוון שהפורמט מבוסס על שורות ועמודות, CSV מתורגם היטב למסד נתונים יחסי.
קל לייבא קובץ CSV למסד נתונים ולייצא ממסד נתונים לקובץ CSV. ישנן מספר טכניקות שונות בהן תוכל להשתמש כדי לעשות זאת עם PostgreSQL.
צור קובץ CSV
הנה כמה נתוני CSV לדוגמה שתוכל להשתמש בהם צור קובץ CSV משלך:
מזהה, שם פרטי, שם משפחה, דוא"ל
1,ריאנון,פולסיפר,ריאנון.Pulsifer@דוגמא.com
2,מוינה,פאלוצ',מוינה.פאלוצ'@דוגמא.com
3,רוזלין,ברנרד,רוזלין.ביררד@דוגמא.com
4,גלוריה,אלדריק,גלוריה.אלדריק@דוגמא.com
5,פליס,גרינוולד,פליס.גרינוולד@דוגמא.com
לפני ייבוא קובץ ה-CSV לתוך מסד הנתונים PostgreSQL, תצטרך ליצור טבלה התואמת לפורמט קובץ ה-CSV. השתמש בקוד הבא כדי ליצור טבלת Postgres.
לִיצוֹרשולחן עובדים(תְעוּדַת זֶהוּתintלֹאריק,
שם פרטי char (20),
שם משפחה char (20),
דוא"ל char (50));
יבא קבצי CSV ל-PostgreSQL
אתה יכול לייבא קבצי CSV לטבלת Postgres בשרת או במחשב לקוח.
ייבא קבצי CSV בצד השרת
כדי לייבא קובץ CSV לשרת PostgreSQL, השתמש בפקודה PostgreSQL COPY ובמילת המפתח FROM. זה מאפשר לך להעתיק נתונים מקובץ CSV לטבלת Postgres, בתנאי שהמבנה תואם. השתמש בקוד הבא כדי להעתיק את קובץ ה-CSV לדוגמה לטבלת העובדים:
עובדי COPY (מזהה, שם פרטי, שם משפחה, אימייל)
מ '/tmp/sample.csv'
מפריד ','
CSV HEADER;
הנתיב בדוגמה לעיל הוא מוחלט. אתה יכול להשתמש בנתיב ביחס לספריית הנתונים שלך Postgres אם אתה מעדיף.
אתה יכול להעתיק את הנתונים עם או בלי כותרות אז אל תהסס להשמיט את שורת הקוד האחרונה אם אינך זקוק להם.
יבא קבצי CSV בצד הלקוח
במחשב לקוח, השתמש ב-psql \עותק הפקודה לייבא את קובץ ה-CSV. הפעל את הקוד הבא בשורת הפקודה psql כדי להעתיק את קובץ ה-CSV לדוגמה לטבלת העובדים.
\copy עובדים FROM '/tmp/sample.csv' מפריד ',' CSV HEADER;
ייצוא קבצי CSV מ-PostgreSQL
כמו בייבוא, אתה יכול גם לייצא קובץ CSV בצד השרת או בצד הלקוח.
ייצא קבצי CSV בצד השרת
השתמש בפקודה COPY ובמילת המפתח TO כדי לייצא את הנתונים לקובץ CSV. עליך לציין את טבלת המקור ואת הנתיב לקובץ היעד. הפעם, הדרך חייבת להיות מוחלטת:
העתק עובדים TO '/tmp/employees.csv' CSV HEADER;
אם אתה צריך לייצא רק חלק מהשורות ממסד הנתונים, השתמש בפקודה SELECT באופן הבא:
COPY (בחר * מעובדים כאשר שם פרטי='מוינה') ל '/tmp/employees-moyna.csv' CSV HEADER;
ייצוא קבצי CSV בצד הלקוח
כדי לייצא נתונים בצד הלקוח, השתמש ב- \עותק הפקודה וה ל מילת מפתח בשורת הפקודה psql:
\copy עובדים TO 'path-to-file.csv' כותרת CSV;
שימוש במתאם מסד נתונים
אינך צריך להשתמש במסוף כדי לייבא קובץ CSV. אתה יכול לייבא את הנתונים דרך אובייקט סמן באמצעות שפת התכנות המועדפת עליך. לדוגמה, אם אתה עובד עם Python, אתה יכול להתחבר לשרת PostgreSQL ולהפעיל את עותק פקודה.
לשם כך, עליך לחבר את Python ל-Postgres באמצעות מתאם מסד נתונים כמו psychopg2.
התקנת pip psychopg2
התחבר למסד הנתונים באמצעות הקוד הבא:
יְבוּא psychopg2;
חיבור = psychopg.connect(
database="employee_db",
host="localhost"
user="postgres",
password="password",
)
לאחר מכן צור אובייקט סמן והשתמש בו כדי לבצע את הפקודה COPY:
cursor = connection.cursor()
cursor.execute(
"עובדי COPY (מזהה, שם פרטי, שם משפחה, אימייל)
מ'/tmp/sample.csv'
DELIMITER ','
CSV HEADER;"
)
connection.close()
נהל את נתוני ה-PostgreSQL שלך עם הנוחות של CSV
זהו תהליך פשוט לייבא ולייצא נתונים באמצעות קבצי PostgreSQL ו-CSV. אתה יכול להשתמש בפקודות psql בלקוח או בשרת, או להשתמש במתאם מסד נתונים באופן תכנותי.
אם אתה יותר איש GUI, שקול להשתמש בכלי pgAdmin. זהו יישום GUI בקוד פתוח שיכול לעזור לך לייבא ולייצא נתונים אפילו ביתר קלות.