Skip to main content

Posts

Inserting data from CSV into Postgres table with Python

I've been looking into how to insert data from a CSV file into a Postgres Table with code. Turns out it's pretty simple and straightforward. I personally prefer doing it in code than with a command, but I'm not sure what is more common in the industry.  So now I should be able to load data from a CSV file into a Postgres table to create a REST API. The next step is trying to figure out how to convert that data into JSON format. 🤔

Figuring out Postgres Part 2(Adding data)

 My database is set up. My table is set up. Now it's time to add some data. There are 2 main ways we can do it - add data from an external file, or add data with Python.  Adding data from an external file A colleague of mine introduced me to a website - Kaggle . You can download datasets in a few different formats from this site which is pretty amazing! I found one for cat breed characteristics. I don't put much stock in breeds and that sort of thing, but I thought it would be a nice data set to use. The table I created previously wasn't exactly a good match for this data so I created a new table. One that was specifically for domestic cats and not all cats, big and small.  In SQL Shell(psql) Using the copy command in the screenshot below, I copied data from the csv file to my domestic_cats table. Printing a simple query in my Python file revealed that the data was actually copied. It was pretty exciting to see it all there.  Data printed to the terminal Input data w...

Figuring out Postgres Part 1(Setting it up)

 I've been meaning how to use Postgres for a while now and I've finally decided to dive into it. First step, installing Postgres from their website . I kept all the default settings which meant it installed PostgreSQL Server, pgAdmin4, Stack Builder, and Command Line Tools. It later prompted me to set up Stack Builder, but I took a look at this tutorial  and determined that I don't really need to do that right now. It also helped me figure out how to verify the installation using SQL Shell(psql). Everything looks good so far. I followed another tutorial on Linkedin learning to create a database. Next on the tutorial, create a virtual environment and install Psycopg2-binary in it. Apparently it's a Postgres database adapter.  And because I'm an idiot, I forgot where I saved the database. I opened up Postgres shell and used the command SHOW data_directory; But it turns out I didn't need it anyway 😁 I created a new Python file and added the following lines of cod...

Free form

 I'm been trying to find a free form submission service for the longest time. I was using google forms for the longest time but it's really ugly. It doesn't offer much in the way of customisation either. I finally came across something called Formspree and it's hard to believe that it's so easy to use! And it's free for 50 submissions a month! There's no way I'm going to get more than 50 submissions on my wee little portfolio site, so this suits me perfectly! Unfortunately the success page is a formspree page but hey, it's free. I can't complain. It makes me feel great when I manage to find workarounds 😁

Shortcuts

 I saw one of my colleagues do something magical. He automatically fixed the alignment of student code on Visual Studio with just 1 little keyboard shortcut. Ctrl-k, followed by D. Holding down Ctrl the entire time Sometimes shortcuts really do work and make your life better!   

z-index epiphany

 It only recently occurred to me why a z-index is called a z-index. I've known about this CSS property for a little over a year now. And I'm completely embarrassed that I didn't realise this sooner. It refers to the z axis. As in x axis, y axis and z axis. When did I have this epiphany? In the shower. Proof that showers are good for more than just keeping yourself clean.

Python database migrations

 I've gotten extremely comfortable with the commands "manage.py makemigrations" and "manage.py migrate" but today I learnt a new database related command. manage.py migrate [insert app name] zero 😮😮😮😮😮 This simple command is the Ctrl-Z for migrations. It drops the tables for the app. All this while, whenever I have trouble with any of the tables I delete the entire database when I could have been deleting that table alone. oops 😁