Python and PostgreSQL: Data Manipulation
- Using lower case in PostgreSQL as much as possible. Otherwise, you will need to add "" to everything in your SQL queries.
When importing the csv to SQL, you can use the following Python code to make all the headers lower cases:
data.columns = map(str.lower, data.columns)
#or
data.columns = [x.lower() for x in data.columns]
#or
df.columns = df.columns.str.lower()
Using Psycopg to acess the data
Import the Psycopg and sqlio libraries:
import psycopg2
import pandas.io.sql as sqlio
Connect to the database:
conn = psycopg2.connect("dbname=<database name> user=<user name> password=<access password>")
cur = conn.cursor()
Read the query result as dataframe:
SQL = "SELECT * FROM <table>;"
dat = sqlio.read_sql_query(SQL, conn)
Execute the query (e.g. create new table):
SQL = "CREATE TABLE <table name>(<column name> <column data type> <optional: restriction>);"
cur.execute(SQL)
conn.commit()
Clear the connection:
conn = None
Close communication with the database
cur.close()
conn.close()
Comments are closed.