mysql.connector
soit
installé (il suffit d'exécuter
import mysql.connector as mysql
et vérifier si ça
déclenche une erreur). S'il le faut, installer le module en
exécutant
conda install -c anaconda mysql-connector-python
dans
Anaconda prompt.heroes
et les
afficher. Vérifier que les résultats sont les mêmes que l'on
obtient en utilisant directement mySQL.heroes
, et ajouter la ligne suivante (ou une
équivalente si elle existe déjà dans la BD):
1, 'Wonder Woman', 'Diana Prince', 'Themyscira', 'DC Comics', 183.13, 74.74, 'F', 1941, 'Blue', 'Black', 100, 'high'
heroes
:
3, 'Wolverine', 'Logan', 'Alberta, Canada', 'Marvel Comics', 160.70, 135.21, 'M', None, 'Blue', 'Black', 35, 'good' 4, 'Spider-Man', 'Peter Parker', 'New York, New York', 'Marvel Comics', 178.28, 74.25, 'M', None, 'Hazel', 'Brown', 55, 'high' 5, 'Professor X', 'Charles Francis Xavier', 'New York, New York', 'Marvel Comics', 183.74, 86.89, 'M', 1963, 'Blue', 'No Hair', 10, 'high'
heroes
.exists_in_db
qui vérifie si dans la
table heros
il y a une ligne dont l'attribut
name
a par valeur l'argument passé à cette fonction, en
retournant une valeur booléenne selon le cas.next_id
qui retourne un ID pour
une nouvelle ligne de la table heroes
(il suffit de
déterminer la valeur de l'ID le plus haut et de lui ajouter 1).heroes
(il faudra avoir une fonction pour le type
entier, une pour le type réel et une pour les chaînes, si possible
aussi tenant compte d'une longeur maximale).heroes
tous les données lits du fichier CSV,
au cas où ils ne soient déjà contenus dans la table.s
en invocant
s.encode('ascii', 'ignore')
.sqlalchemy
soit installé, et s'il le faut
l'installer en exécutant
conda install -c anaconda sqlalchemy
dans Anaconda
prompt. Se connecter avec create_engine
à la BD et
créer un DataFrame de pandas qui contient toutes les lignes
de la table heroes
, en utilisant la méthode
read_sql
.