Skip to content

Instantly share code, notes, and snippets.

@Mageti
Last active July 2, 2017 18:09
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Mageti/afb64ee43c7ae8d42c33ad9ec04bdf2a to your computer and use it in GitHub Desktop.
Save Mageti/afb64ee43c7ae8d42c33ad9ec04bdf2a to your computer and use it in GitHub Desktop.
Création d'une DB SQLite3 de la base de donnée des médicaments
#!/usr/bin/python3
# -*- coding: utf-8 -*-
import sqlite3
import urllib.request
import settings
import datetime
def import_db(db, cur):
# Téléchargement du fichier
response = urllib.request.urlopen(db['url'])
data = response.read().decode('latin_1')
# Insertion dans la DB
cur.execute(db['sql_create'])
cur.execute(db['sql_index'])
print(db['nom'], end='')
ln = 0
for line in data.split('\n'):
elements = line.split('\t')
if len(elements) == 1:
continue
if db['nom'] == 'CIS_CIP_bdpm':
if '%' in elements[8]:
remb = elements[8].replace('%','').strip()
else:
remb = None
if elements[9].replace(',','.').count('.') > 1:
elements[9] = elements[9].replace(',','.').replace('.','',1)
if elements[10].replace(',','.').count('.') > 1:
elements[10] = elements[10].replace(',','.').replace('.','',1)
if elements[11].replace(',','.').count('.') > 1:
elements[11] = elements[11].replace(',','.').replace('.','',1)
prix1 = float(elements[9].replace(',','.')) if elements[9].replace(',','.') else None
prix2 = float(elements[10].replace(',','.')) if elements[10].replace(',','.') else None
prix3 = float(elements[11].replace(',','.')) if elements[11].replace(',','.') else None
elements = (elements[0],
elements[1],
elements[2],
elements[3],
elements[4],
elements[5],
elements[6],
elements[7],
remb,
prix1,
prix2,
prix3,
elements[12])
cur.execute(db['sql_insert'], elements)
if db['nom'] == 'CIS_bdpm':
insert_fuzzy_name(elements[0], elements[1], db, cur)
ln += 1
print('... ',ln)
if __name__ == "__main__" :
conn = sqlite3.connect(settings.SQLITE_DB)
cur = conn.cursor()
for db in settings.dbs:
import_db(db, cur)
cur.execute("CREATE TABLE info (what TEXT, content TEXT);")
cur.execute("INSERT INTO info (what, content) VALUES ('date_feed',?)", (datetime.date.today(),))
conn.commit()
conn.close()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment