{ "cells": [ { "cell_type": "markdown", "metadata": { "toc": true }, "source": [ "

Table of Contents

\n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# SQL dump\n", "\n", "* We show how to read in an sql dump using sqlite and then import it into pandas\n", "* We had to delete some commands from the sql dump and make it as simple as possible.\n", "\n", "### tutorials used\n", "\n", "* \n", "* and \n", "\n", "\n" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import sqlite3" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "# Create a database in RAM\n", "db = sqlite3.connect(':memory:')\n", "# Creates or opens a file called mydb with a SQLite3 DB\n", "db = sqlite3.connect('data/mydb')\n", "# Get a cursor object\n", "cursor = db.cursor()" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "# try something out\n", "\n", "\n", "cursor.execute('''\n", " CREATE TABLE users(id INTEGER PRIMARY KEY, name TEXT,\n", " phone TEXT, email TEXT unique, password TEXT)\n", "''')\n", "db.commit()\n" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "cursor.execute('''DROP TABLE users''')\n", "db.commit()" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "-- phpMyAdmin SQL Dump\r\n", "-- version 4.0.10.17\r\n", "-- https://www.phpmyadmin.net\r\n", "--\r\n", "-- Host: mysql12.meertens.knaw.nl\r\n", "-- Generation Time: Jan 31, 2017 at 01:46 PM\r\n", "-- Server version: 5.5.52-MariaDB\r\n", "-- PHP Version: 5.3.3\r\n", "\r\n", "-- SET SQL_MODE = \"NO_AUTO_VALUE_ON_ZERO\";\r\n", "-- SET time_zone = \"+00:00\";\r\n", "\r\n", "\r\n", "/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;\r\n", "/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;\r\n", "/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;\r\n", "/*!40101 SET NAMES utf8 */;\r\n", "\r\n", "--\r\n", "-- Database: `etymologie`\r\n", "--\r\n", "\r\n", "-- --------------------------------------------------------\r\n", "\r\n", "--\r\n", "-- Table structure for table `decosterneol`\r\n", "--\r\n", "\r\n", "CREATE TABLE IF NOT EXISTS `decosterneol` (\r\n", " `id` smallint(6) NOT NULL,\r\n", " `ingang` varchar(50) NOT NULL,\r\n", " `lemmatekst` text CHARACTER NOT NULL\r\n", "); \r\n", "\r\n", "--\r\n", "-- Dumping data for table `decosterneol`\r\n", "--\r\n", "\r\n", "INSERT INTO `decosterneol` (`id`, `ingang`, `lemmatekst`) VALUES\r\n", "(2, 'aaibaarheidsfactor', '

aaibaarheidsfactor, schertsende benaming voor de mate van genoegen ondervonden door het aaien, knuffelen of vleien van bepaalde huisdieren (vooral katten), en bij uitbreiding ook mensen en dingen. Een alligator heeft een erg lage aaibaarheidsfactor. De term werd ca. 1969 gelanceerd door Rudy Kousbroek (alhoewel het tijdschrift Gezin en Samenleving er volgens een briefschrijver al een jaar eerder gewag van maakte!), maar sloeg pas echt aan in de jaren tachtig. Hij werd o.a. gebruikt bij de introductie van de Renault Twingo. Hierna werden ook samenstellingen met -factor als tweede lid, erg populair. Zo werd in Cosmopolitan (maart 1993) een nieuwe auto aangeprezen met de slogan ‘Kies voor de hoogste flirtfactor’. Elders werden samenstellingen aangetroffen als bespreekbaarheidsfactor, lulligheidsfactor, troetelfactor.

Zijn tweede vrouw had een lagere aaibaarheidsfactor maar een veel grotere versmeltingsdrang. (Kees Van Kooten en Wim De Bie: Bescheurkalender, 1979)
Aaibaarheidsfactor: bekend verschijnsel bij natuurbeschermingsacties met het doel een in de ogen van het grote publiek aardig lijkende diersoort of een type natuur beschermd of geherintroduceerd te krijgen. (Pierre Marechal: Woordenwijzer Ecologie, 1991)
Slechts af en toe benadrukt Spielberg de aaibaarheidsfactor van de prehistorische dieren, door hen bijvoorbeeld een keer te laten zingen en door de kinderen hen te laten voederen. (Algemeen Dagblad, 30/09/93)
Nu beschikken niet veel Duitse elftallen over een hoge aaibaarheidsfactor. Werder Bremen is een topclub zonder kleur. (NRC Handelsblad, 21/10/94)
Bijna een miljoen kijkers op een zondagnamiddag! Daar ben ik zeer mee ingenomen. Weet je waarom? Omdat ik trots ben dat juist ik zo’n hoge aaibaarheidsfactor blijk te hebben. (Nieuwe Revu, 03/05/95)
De middeleeuwse rechtsgeleerden lieten merkwaardig genoeg de nuts- en aaibaarheidsfactoren onbesproken. (HP/De Tijd, 12/05/95)
Vermoedelijk deden vooral het handige formaat en de hoge aaibaarheidsfaktor van het boekje mij besluiten het mee te nemen. (De Morgen, 04/11/95)
Directeur Coyajee van de Dierenbescherming heeft een geringe aaibaarheidsfactor. (Nieuwe Revu, 09/10/96)
'),\r\n" ] } ], "source": [ "# read in a sql dump with one table\n", "\n", "dump='/Users/admin/Documents/projects/Nederlab2016/DeCoster/decosterneol_tryout.sql'\n", "\n", "!head -40 $dump\n" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "# put the data in the database\n", "fd = open(dump, 'r')\n", "script = fd.read()\n", "cursor.executescript(script)\n", "fd.close()" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[('aaibaarheidsfactor',\n", " '

aaibaarheidsfactor, schertsende benaming voor de mate van genoegen ondervonden door het aaien, knuffelen of vleien van bepaalde huisdieren (vooral katten), en bij uitbreiding ook mensen en dingen. Een alligator heeft een erg lage aaibaarheidsfactor. De term werd ca. 1969 gelanceerd door Rudy Kousbroek (alhoewel het tijdschrift Gezin en Samenleving er volgens een briefschrijver al een jaar eerder gewag van maakte!), maar sloeg pas echt aan in de jaren tachtig. Hij werd o.a. gebruikt bij de introductie van de Renault Twingo. Hierna werden ook samenstellingen met -factor als tweede lid, erg populair. Zo werd in Cosmopolitan (maart 1993) een nieuwe auto aangeprezen met de slogan ‘Kies voor de hoogste flirtfactor’. Elders werden samenstellingen aangetroffen als bespreekbaarheidsfactor, lulligheidsfactor, troetelfactor.

Zijn tweede vrouw had een lagere aaibaarheidsfactor maar een veel grotere versmeltingsdrang. (Kees Van Kooten en Wim De Bie: Bescheurkalender, 1979)
Aaibaarheidsfactor: bekend verschijnsel bij natuurbeschermingsacties met het doel een in de ogen van het grote publiek aardig lijkende diersoort of een type natuur beschermd of geherintroduceerd te krijgen. (Pierre Marechal: Woordenwijzer Ecologie, 1991)
Slechts af en toe benadrukt Spielberg de aaibaarheidsfactor van de prehistorische dieren, door hen bijvoorbeeld een keer te laten zingen en door de kinderen hen te laten voederen. (Algemeen Dagblad, 30/09/93)
Nu beschikken niet veel Duitse elftallen over een hoge aaibaarheidsfactor. Werder Bremen is een topclub zonder kleur. (NRC Handelsblad, 21/10/94)
Bijna een miljoen kijkers op een zondagnamiddag! Daar ben ik zeer mee ingenomen. Weet je waarom? Omdat ik trots ben dat juist ik zo’n hoge aaibaarheidsfactor blijk te hebben. (Nieuwe Revu, 03/05/95)
De middeleeuwse rechtsgeleerden lieten merkwaardig genoeg de nuts- en aaibaarheidsfactoren onbesproken. (HP/De Tijd, 12/05/95)
Vermoedelijk deden vooral het handige formaat en de hoge aaibaarheidsfaktor van het boekje mij besluiten het mee te nemen. (De Morgen, 04/11/95)
Directeur Coyajee van de Dierenbescherming heeft een geringe aaibaarheidsfactor. (Nieuwe Revu, 09/10/96)
'),\n", " ('aandachtsgebied',\n", " '

aandachtsgebied, -veld, zaak, onderwerp, plan waaraan veel aandacht wordt geschonken of moet worden geschonken. Deze modieuze term wordt sinds begin jaren tachtig gebruikt, voornamelijk door bestuurders. Hiervan afgeleid (maar minder frequent) is aandachtsvelder ‘persoon die een bepaald aandachtsveld behartigt’.

Aandachtsveld. Een onderwerp waarmee de overheid zich bezighoudt. Onderwijs aan kinderen uit culturele minderheden is bij voorbeeld een aandachtsveld van ambtenaren en politici. Veel ambtenaren houden de illusie in stand dat een probleem al is opgelost als het eenmaal tot ‘aandachtsveld’ is bestempeld. (Marco Bunge: Politiek Woordenboek, 1985)
Dit zijn jonge, afgestudeerde specialisten, meestal internisten of anesthesiologen, die afhankelijk van hun vooropleiding een ‘postgraduate’ opleiding van één tot twee jaar volgen in het aandachtsgebied intensive care-geneeskunde. (NRC Handelsblad, 14/06/97)
Iedere zoveel jaar, vaak samenvallend met een wisseling van de minister, wordt op het departement aan de Bezuidenhoutseweg een nieuwe modekreet bedacht. Deze grillen sijpelen als ‘nieuwe aandachtsvelden’ het hele programma door. (Elsevier, 26/07/97)
')]" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# take the data out\n", "\n", "cursor.execute('''SELECT `ingang`, `lemmatekst` FROM decosterneol''')\n", "#user1 = cursor.fetchone() #retrieve the first row\n", "#print(user1) #Print the first column retrieved(user's name)\n", "all_rows = cursor.fetchall()\n", "\n", "all_rows[:2] " ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [], "source": [ "# sluit de db af\n", "db.close()" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "(10281, 2)\n" ] }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
inganglemmatekst
0aaibaarheidsfactor<P><B>aaibaarheidsfactor,</B> schertsende bena...
1aandachtsgebied<P><B>aandachtsgebied, -veld,</B> zaak, onderw...
2aangeschoten wild<P><B>aangeschoten wild,</B> voornamelijk in d...
3ankeiler<P><B>a(a)nkeiler</B> (← Dui. <I>ankeilen</I> ...
4iemand op iets aankijken<P><B>aankijken: iemand op iets —,</B> iemand ...
\n", "
" ], "text/plain": [ " ingang lemmatekst\n", "0 aaibaarheidsfactor

aaibaarheidsfactor, schertsende bena...\n", "1 aandachtsgebied

aandachtsgebied, -veld, zaak, onderw...\n", "2 aangeschoten wild

aangeschoten wild, voornamelijk in d...\n", "3 ankeiler

a(a)nkeiler (← Dui. ankeilen ...\n", "4 iemand op iets aankijken

aankijken: iemand op iets —, iemand ..." ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# import it into pandas\n", "\n", "import pandas as pd\n", "import numpy as np\n", "\n", "decosterdf= pd.DataFrame(all_rows , columns=['ingang', 'lemmatekst'])\n", "print(decosterdf.shape)\n", "decosterdf.head()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Even wat textmining \n", "\n", "* we halen het \"lemma\" uit de lemmatekst" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "

aaibaarheidsfactor, schertsende benaming voor de mate van genoegen ondervonden door het aaien, knuffelen of vleien van bepaalde huisdieren (vooral katten), en bij uitbreiding ook mensen en dingen. Een alligator heeft een erg lage aaibaarheidsfactor. De term werd ca. 1969 gelanceerd door Rudy Kousbroek (alhoewel het tijdschrift Gezin en Samenleving er volgens een briefschrijver al een jaar eerder gewag van maakte!), maar sloeg pas echt aan in de jaren tachtig. Hij werd o.a. gebruikt bij de introductie van de Renault Twingo. Hierna werden ook samenstellingen met -factor als tweede lid, erg populair. Zo werd in Cosmopolitan (maart 1993) een nieuwe auto aangeprezen met de slogan ‘Kies voor de hoogste flirtfactor’. Elders werden samenstellingen aangetroffen als bespreekbaarheidsfactor, lulligheidsfactor, troetelfactor.

Zijn tweede vrouw had een lagere aaibaarheidsfactor maar een veel grotere versmeltingsdrang. (Kees Van Kooten en Wim De Bie: Bescheurkalender, 1979)
Aaibaarheidsfactor: bekend verschijnsel bij natuurbeschermingsacties met het doel een in de ogen van het grote publiek aardig lijkende diersoort of een type natuur beschermd of geherintroduceerd te krijgen. (Pierre Marechal: Woordenwijzer Ecologie, 1991)
Slechts af en toe benadrukt Spielberg de aaibaarheidsfactor van de prehistorische dieren, door hen bijvoorbeeld een keer te laten zingen en door de kinderen hen te laten voederen. (Algemeen Dagblad, 30/09/93)
Nu beschikken niet veel Duitse elftallen over een hoge aaibaarheidsfactor. Werder Bremen is een topclub zonder kleur. (NRC Handelsblad, 21/10/94)
Bijna een miljoen kijkers op een zondagnamiddag! Daar ben ik zeer mee ingenomen. Weet je waarom? Omdat ik trots ben dat juist ik zo’n hoge aaibaarheidsfactor blijk te hebben. (Nieuwe Revu, 03/05/95)
De middeleeuwse rechtsgeleerden lieten merkwaardig genoeg de nuts- en aaibaarheidsfactoren onbesproken. (HP/De Tijd, 12/05/95)
Vermoedelijk deden vooral het handige formaat en de hoge aaibaarheidsfaktor van het boekje mij besluiten het mee te nemen. (De Morgen, 04/11/95)
Directeur Coyajee van de Dierenbescherming heeft een geringe aaibaarheidsfactor. (Nieuwe Revu, 09/10/96)
\n" ] } ], "source": [ "from bs4 import BeautifulSoup\n", "\n", "test= decosterdf.lemmatekst.iloc[0]\n", "print(decosterdf.lemmatekst.iloc[0])\n", "soup=BeautifulSoup(test,'lxml')\n", "soup.find('q') " ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'aaibaarheidsfactor,'" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "def pak_de_b(s):\n", " b= BeautifulSoup(s).find('b')\n", " if b:\n", " return b.string\n", " else:\n", " return np.nan\n", "\n", "#test\n", "pak_de_b(test)" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
inganglemmatekstingang_alfabetisch
0aaibaarheidsfactor<P><B>aaibaarheidsfactor,</B> schertsende bena...aaibaarheidsfactor,
1aandachtsgebied<P><B>aandachtsgebied, -veld,</B> zaak, onderw...aandachtsgebied, -veld,
2aangeschoten wild<P><B>aangeschoten wild,</B> voornamelijk in d...aangeschoten wild,
3ankeiler<P><B>a(a)nkeiler</B> (← Dui. <I>ankeilen</I> ...a(a)nkeiler
4iemand op iets aankijken<P><B>aankijken: iemand op iets —,</B> iemand ...aankijken: iemand op iets —,
5aanleunwoning<P><B>aanleunwoning,</B> bejaardenflat of woni...aanleunwoning,
6aanloggen<P><B>aanloggen,</B> een verbinding maken met ...aanloggen,
7aanloopcentrum<P><B>aanloopcentrum, -punt,</B> centrum, plaa...aanloopcentrum, -punt,
8aanpassingsklas<P><B>aanpassingsklas,</B> in Vlaanderen: klas...aanpassingsklas,
9aanrijding met<P><B>aanrijding met; — zonder,</B> bij de pol...aanrijding met; — zonder,
\n", "
" ], "text/plain": [ " ingang \\\n", "0 aaibaarheidsfactor \n", "1 aandachtsgebied \n", "2 aangeschoten wild \n", "3 ankeiler \n", "4 iemand op iets aankijken \n", "5 aanleunwoning \n", "6 aanloggen \n", "7 aanloopcentrum \n", "8 aanpassingsklas \n", "9 aanrijding met \n", "\n", " lemmatekst \\\n", "0

aaibaarheidsfactor, schertsende bena... \n", "1

aandachtsgebied, -veld, zaak, onderw... \n", "2

aangeschoten wild, voornamelijk in d... \n", "3

a(a)nkeiler (← Dui. ankeilen ... \n", "4

aankijken: iemand op iets —, iemand ... \n", "5

aanleunwoning, bejaardenflat of woni... \n", "6

aanloggen, een verbinding maken met ... \n", "7

aanloopcentrum, -punt, centrum, plaa... \n", "8

aanpassingsklas, in Vlaanderen: klas... \n", "9

aanrijding met; — zonder, bij de pol... \n", "\n", " ingang_alfabetisch \n", "0 aaibaarheidsfactor, \n", "1 aandachtsgebied, -veld, \n", "2 aangeschoten wild, \n", "3 a(a)nkeiler \n", "4 aankijken: iemand op iets —, \n", "5 aanleunwoning, \n", "6 aanloggen, \n", "7 aanloopcentrum, -punt, \n", "8 aanpassingsklas, \n", "9 aanrijding met; — zonder, " ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "decosterdf['ingang_alfabetisch']= decosterdf.lemmatekst.apply(pak_de_b)\n", "decosterdf.head(10)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.6.3" }, "toc": { "nav_menu": {}, "number_sections": true, "sideBar": true, "skip_h1_title": false, "title_cell": "Table of Contents", "title_sidebar": "Contents", "toc_cell": true, "toc_position": {}, "toc_section_display": true, "toc_window_display": false } }, "nbformat": 4, "nbformat_minor": 1 }