{ "cells": [ { "cell_type": "code", "execution_count": 1, "id": "5263a987-da36-46d7-a2e7-d0658cda09c1", "metadata": {}, "outputs": [], "source": [ "import DBcm" ] }, { "cell_type": "code", "execution_count": 2, "id": "3f6b0763-4106-4bfa-9aef-7afbd180c6d4", "metadata": {}, "outputs": [], "source": [ "db_name = \"movie_db.db\"\n", "\n", "create_my_list = \"\"\"\n", " create table if not exists movie_list (\n", " id integer not null primary key autoincrement,\n", " titel varchar(64) not null,\n", " genre_id integer not null,\n", " regie_id integer not null\n", " \n", " )\n", "\n", "\"\"\"\n", "\n", "create_genre = \"\"\"\n", " create table if not exists genre (\n", " id integer not null primary key autoincrement,\n", " name varchar(64) not null\n", " )\n", "\"\"\"\n", "\n", "create_regie = \"\"\"\n", " create table if not exists regie (\n", " id integer not null primary key autoincrement,\n", " surname varchar(64) not null,\n", " lastname varchr(64) not null\n", " )\n", "\"\"\"\n", "\n", "\n", "with DBcm.UseDatabase(db_name) as db: \n", " db.execute(create_my_list)\n", " db.execute(create_genre)\n", " db.execute(create_regie)\n", " " ] }, { "cell_type": "code", "execution_count": 3, "id": "376ef812-97b5-45ba-8ef1-eb8d7829494a", "metadata": {}, "outputs": [], "source": [ "# ADDed Genre values\n", "\n", "ADD_GENRE_VALUE = \"\"\"\n", " INSERT INTO genre(name)\n", " SELECT ?\n", " WHERE NOT EXISTS (SELECT 1 FROM genre WHERE name = ?);\n", " \"\"\"\n", "\n", "with open(\"genre_list\", \"r\") as fs: \n", " for genre_value in fs.readlines():\n", " with DBcm.UseDatabase(db_name) as db:\n", " db.execute(ADD_GENRE_VALUE, (genre_value.strip(), genre_value.strip()))\n", " " ] }, { "cell_type": "code", "execution_count": 27, "id": "63b16a41-88bf-4832-a26c-09180832f597", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "['action', 'adventure', 'animation', 'biography', 'comedy', 'crime', 'cult movie', 'disney', 'documentary', 'drama', 'erotic', 'family', 'fantasy', 'film-noir', 'gangster', 'gay and lesbian', 'history', 'horror', 'military', 'music', 'musical', 'mystery', 'nature', 'neo-noir', 'period', 'pixar', 'road movie', 'romance', 'sci-fi', 'short', 'spy', 'super hero', 'thriller', 'visually stunning', 'war', 'western']\n" ] } ], "source": [ "def all_genres():\n", " ALL_GENRE = \"\"\"\n", " SELECT * from genre \n", " \"\"\" \n", " with DBcm.UseDatabase(db_name) as db:\n", " db.execute(ALL_GENRE)\n", " all_genre = [i[1] for i in db.fetchall()]\n", " \n", " return all_genre\n", "\n", "print(all_genres())\n", " " ] }, { "cell_type": "code", "execution_count": 36, "id": "89b20b5f-34aa-4490-a4c0-c186c9fa30bd", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "1\n", "36\n" ] } ], "source": [ "def search_genre_id(genre_name):\n", " GENRE_QUERY = \"\"\"\n", " select id from genre\n", " where name = ?\n", " \"\"\"\n", " try:\n", " with DBcm.UseDatabase(db_name) as db:\n", " db.execute(GENRE_QUERY,(genre_name,))\n", " genre_id = db.fetchone()[0]\n", " return int(genre_id)\n", " except:\n", " return int(0)\n", "\n", "\n", "def search_medium_id(genre_name):\n", " GENRE_QUERY = \"\"\"\n", " select id from genre\n", " where medium = ?\n", " \"\"\"\n", " try:\n", " with DBcm.UseDatabase(db_name) as db:\n", " db.execute(GENRE_QUERY,(genre_name,))\n", " genre_id = db.fetchone()[0]\n", " return int(genre_id)\n", " except:\n", " return int(0)\n", "\n", "print(search_genre_id(genre_name=\"action\"))\n", "print(search_genre_id(genre_name=\"western\"))" ] }, { "cell_type": "code", "execution_count": 18, "id": "c70d91a5-7855-465d-a4a6-daebc065ee37", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0-John-Smith\n", "1-James-Johnson\n", "2-William-Williams\n", "3-Michael-Brown\n", "4-David-Davis\n", "5-Richard-Miller\n", "6-Joseph-Wilson\n", "7-Charles-Moore\n", "8-Thomas-Taylor\n", "9-Daniel-Anderson\n", "10-Paul-Thomas\n", "11-Mark-Jackson\n", "12-Donna-White\n", "13-Michelle-Harris\n", "14-Laura-Martin\n", "15-Sara-Thompson\n", "16-Ana-Garcia\n", "17-Carlos-Rodriguez\n", "18-Maria-Martinez\n", "19-Jose-Hernandez\n", "20-Luis-Lopez\n", "21-Rosa-Gonzalez\n", "22-Pedro-Perez\n", "23-Miguel-Sanchez\n", "24-Juan-Ramirez\n", "25-Ana-Flores\n", "26-Isabella-Cruz\n", "27-Victor-Rivera\n", "28-Kevin-Lee\n", "29-Brian-Walker\n", "30-Emily-Hall\n", "31-Ryan-Allen\n", "32-Aaron-Young\n", "33-Jeffrey-King\n", "34-Joshua-Wright\n", "35-Brandon-Scott\n", "36-Frank-Turner\n", "37-Gregory-Carter\n", "38-Samuel-Phillips\n", "39-Chris-Evans\n", "40-Anthony-Collins\n", "41-Eric-Stewart\n", "42-Frank-Snyder\n", "43-Thomas-Baker\n", "44-Jeremy-Nelson\n", "45-Steven-Roberts\n", "46-Edward-Campbell\n", "47-Ryan-Miller\n", "48-Jacob-Davis\n", "49-David-Garcia\n", "50-Sophia-Rodriguez\n", "51-Emma-Martinez\n", "52-Noah-Hernandez\n", "53-Ava-Lopez\n", "54-Ethan-Gonzalez\n", "55-Mia-Perez\n", "56-William-Sanchez\n", "57-James-Ramirez\n", "58-Olivia-Flores\n", "59-Lucas-Cruz\n", "60-Isabella-Rivera\n", "61-David-Lee\n", "62-Sophie-Walker\n", "63-Matthew-Hall\n", "64-Emma-Allen\n", "65-Ryan-Young\n", "66-Ava-King\n", "67-Ethan-Wright\n", "68-Mia-Scott\n", "69-William-Turner\n", "70-James-Carter\n", "71-Olivia-Phillips\n", "72-Lucas-Evans\n", "73-Sophie-Collins\n", "74-Noah-Stewart\n", "75-Ava-Snyder\n", "76-Ethan-Baker\n", "77-Mia-Nelson\n", "78-Noah-Roberts\n", "79-Emma-Campbell\n", "80-William-Miller\n", "81-James-Davis\n", "82-Olivia-Garcia\n", "83-Lucas-Rodriguez\n", "84-Sophie-Martinez\n", "85-Noah-Hernandez\n", "86-Ava-Lopez\n", "87-Ethan-Gonzalez\n", "88-Mia-Perez\n", "89-William-Sanchez\n", "90-James-Ramirez\n", "91-Olivia-Flores\n", "92-Lucas-Cruz\n", "93-Isabella-Rivera\n", "94-David-Lee\n", "95-Sophie-Walker\n", "96-Matthew-Hall\n", "97-Emma-Allen\n", "98-Ryan-Young\n", "99-Ava-King\n", "100-Ethan-Wright\n", "101-Mia-Scott\n", "102-William-Turner\n", "103-James-Carter\n", "104-Olivia-Phillips\n", "105-Lucas-Evans\n", "106-Sophie-Collins\n", "107-Noah-Stewart\n", "108-Ava-Snyder\n", "109-Ethan-Baker\n", "110-Mia-Nelson\n", "111-Noah-Roberts\n", "112-Emma-Campbell\n", "113-William-Miller\n", "114-James-Davis\n", "115-Olivia-Garcia\n", "116-Lucas-Rodriguez\n", "117-Sophie-Martinez\n", "118-Noah-Hernandez\n", "119-Ava-Lopez\n", "120-Ethan-Gonzalez\n", "121-Mia-Perez\n", "122-William-Sanchez\n", "123-James-Ramirez\n", "124-Olivia-Flores\n", "125-Lucas-Cruz\n", "126-Isabella-Rivera\n", "127-David-Lee\n", "128-Sophie-Walker\n", "129-Matthew-Hall\n", "130-Emma-Allen\n", "131-Ryan-Young\n", "132-Ava-King\n", "133-Ethan-Wright\n", "134-Mia-Scott\n", "135-William-Turner\n", "136-James-Carter\n", "137-Olivia-Phillips\n", "138-Lucas-Evans\n", "139-Sophie-Collins\n", "140-Noah-Stewart\n", "141-Ava-Snyder\n", "142-Ethan-Baker\n", "143-Mia-Nelson\n", "144-Noah-Roberts\n", "145-Emma-Campbell\n", "146-William-Miller\n", "147-James-Davis\n", "148-Olivia-Garcia\n", "149-Lucas-Rodriguez\n", "150-Sophie-Martinez\n", "151-Noah-Hernandez\n", "152-Ava-Lopez\n", "153-Ethan-Gonzalez\n", "154-Mia-Perez\n", "155-William-Sanchez\n", "156-James-Ramirez\n", "157-Olivia-Flores\n", "158-Lucas-Cruz\n", "159-Isabella-Rivera\n", "160-David-Lee\n", "161-Sophie-Walker\n", "162-Matthew-Hall\n", "163-Emma-Allen\n", "164-Ryan-Young\n", "165-Ava-King\n", "166-Ethan-Wright\n", "167-Mia-Scott\n", "168-William-Turner\n", "169-James-Carter\n", "170-Olivia-Phillips\n", "171-Lucas-Evans\n", "172-Sophie-Collins\n", "173-Noah-Stewart\n", "174-Ava-Snyder\n", "175-Ethan-Baker\n", "176-Mia-Nelson\n", "177-Noah-Roberts\n", "178-Emma-Campbell\n", "179-William-Miller\n", "180-James-Davis\n", "181-Olivia-Garcia\n", "182-Lucas-Rodriguez\n", "183-Sophie-Martinez\n", "184-Noah-Hernandez\n", "185-Ava-Lopez\n", "186-Ethan-Gonzalez\n", "187-Mia-Perez\n", "188-William-Sanchez\n", "189-James-Ramirez\n", "190-Olivia-Flores\n", "191-Lucas-Cruz\n", "192-Isabella-Rivera\n", "193-David-Lee\n", "194-Sophie-Walker\n", "195-Matthew-Hall\n", "196-Emma-Allen\n", "197-Ryan-Young\n", "198-Ava-King\n", "199-Ethan-Wright\n", "200-Mia-Scott\n", "201-William-Turner\n", "202-James-Carter\n", "203-Olivia-Phillips\n", "204-Lucas-Evans\n", "205-Sophie-Collins\n", "206-Noah-Stewart\n", "207-Ava-Snyder\n", "208-Ethan-Baker\n", "209-Mia-Nelson\n", "210-Noah-Roberts\n", "211-Emma-Campbell\n", "212-William-Miller\n", "213-James-Davis\n", "214-Olivia-Garcia\n", "215-Lucas-Rodriguez\n", "216-Sophie-Martinez\n", "217-Noah-Hernandez\n", "218-Ava-Lopez\n", "219-Ethan-Gonzalez\n", "220-Mia-Perez\n", "221-William-Sanchez\n", "222-James-Ramirez\n", "223-Olivia-Flores\n", "224-Lucas-Cruz\n", "225-Isabella-Rivera\n", "226-David-Lee\n", "227-Sophie-Walker\n", "228-Matthew-Hall\n", "229-Emma-Allen\n", "230-Ryan-Young\n", "231-Ava-King\n", "232-Ethan-Wright\n", "233-Mia-Scott\n", "234-William-Turner\n", "235-James-Carter\n", "236-Olivia-Phillips\n", "237-Lucas-Evans\n", "238-Sophie-Collins\n", "239-Noah-Stewart\n", "240-Ava-Snyder\n", "241-Ethan-Baker\n", "242-Mia-Nelson\n", "243-Noah-Roberts\n", "244-Emma-Campbell\n", "245-William-Miller\n", "246-James-Davis\n", "247-Olivia-Garcia\n", "248-Lucas-Rodriguez\n", "249-Sophie-Martinez\n", "250-Noah-Hernandez\n", "251-Ava-Lopez\n", "252-Ethan-Gonzalez\n", "253-Mia-Perez\n", "254-William-Sanchez\n", "255-James-Ramirez\n", "256-Olivia-Flores\n", "257-Lucas-Cruz\n", "258-Isabella-Rivera\n", "259-David-Lee\n", "260-Sophie-Walker\n", "261-Matthew-Hall\n", "262-Emma-Allen\n", "263-Ryan-Young\n", "264-Ava-King\n", "265-Ethan-Wright\n", "266-Mia-Scott\n", "267-William-Turner\n", "268-James-Carter\n", "269-Olivia-Phillips\n", "270-Lucas-Evans\n", "271-Sophie-Collins\n", "272-Noah-Stewart\n", "273-Ava-Snyder\n", "274-Ethan-Baker\n", "275-Mia-Nelson\n", "276-Noah-Roberts\n", "277-Emma-Campbell\n", "278-William-Miller\n", "279-James-Davis\n", "280-Olivia-Garcia\n", "281-Lucas-Rodriguez\n", "282-Sophie-Martinez\n", "283-Noah-Hernandez\n", "284-Ava-Lopez\n", "285-Ethan-Gonzalez\n", "286-Mia-Perez\n", "287-William-Sanchez\n", "288-James-Ramirez\n", "289-Olivia-Flores\n", "290-Lucas-Cruz\n", "291-Isabella-Rivera\n", "292-David-Lee\n", "293-Sophie-Walker\n", "294-Matthew-Hall\n", "295-Emma-Allen\n", "296-Ryan-Young\n", "297-Ava-King\n", "298-Ethan-Wright\n", "299-Mia-Scott\n", "300-William-Turner\n", "301-James-Carter\n", "302-Olivia-Phillips\n", "303-Lucas-Evans\n", "304-Sophie-Collins\n", "305-Noah-Stewart\n", "306-Ava-Snyder\n", "307-Ethan-Baker\n", "308-Mia-Nelson\n", "309-Noah-Roberts\n", "310-Emma-Campbell\n", "311-William-Miller\n", "312-James-Davis\n", "313-Olivia-Garcia\n", "314-Lucas-Rodriguez\n", "315-Sophie-Martinez\n", "316-Noah-Hernandez\n", "317-Ava-Lopez\n", "318-Ethan-Gonzalez\n", "319-Mia-Perez\n", "320-William-Sanchez\n", "321-James-Ramirez\n", "322-Olivia-Flores\n", "323-Lucas-Cruz\n", "324-Isabella-Rivera\n", "325-David-Lee\n", "326-Sophie-Walker\n" ] } ], "source": [ "import pandas as pd\n", "usecols = [\"Name\", \"Vorname\"]\n", "air = pd.read_csv(\"regie_name.csv\", usecols=usecols)\n", "\n", "for count, (i, b) in enumerate(zip(air[\"Name\"], air[\"Vorname\"])):\n", " print(count, b, i, sep=\"-\")\n", "\n" ] }, { "cell_type": "code", "execution_count": 3, "id": "ee4b5dee-6b41-49eb-8d75-9db50d20fdef", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
| \n", " | Name | \n", "Vorname | \n", "
|---|---|---|
| 0 | \n", "Smith | \n", "John | \n", "
| 1 | \n", "Johnson | \n", "James | \n", "
| 2 | \n", "Williams | \n", "William | \n", "
| 3 | \n", "Brown | \n", "Michael | \n", "
| 4 | \n", "Davis | \n", "David | \n", "