Deutsch   English   Français   Italiano  
<6278d418$0$18723$426a74cc@news.free.fr>

View for Bookmarking (what is this?)
Look up another Usenet article

Path: ...!weretis.net!feeder8.news.weretis.net!proxad.net!feeder1-2.proxad.net!cleanfeed1-b.proxad.net!nnrp1-2.free.fr!not-for-mail
From: yves <yves@free.invalid>
Subject: Re: Transformer une BD .sqlite en .js avec python version 3.8
Newsgroups: fr.comp.lang.python
References: <UNydnQ0sEcMoaej_nZ2dnUU7_83NnZ2d@giganews.com>
	<871qx34yrn.fsf@izac.org> <bdidnQWQmvHJMuX_nZ2dnUU7_8zNnZ2d@giganews.com>
User-Agent: Pan/0.144 (Time is the enemy; 28ab3ba git.gnome.org/pan2)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Date: 09 May 2022 08:43:04 GMT
Lines: 41
Message-ID: <6278d418$0$18723$426a74cc@news.free.fr>
Organization: Guest of ProXad - France
NNTP-Posting-Date: 09 May 2022 10:43:04 CEST
NNTP-Posting-Host: 91.175.128.103
X-Trace: 1652085784 news-2.free.fr 18723 91.175.128.103:36378
X-Complaints-To: abuse@proxad.net
Bytes: 2772

Le Mon, 09 May 2022 01:06:12 -0500, msamandine a écrit:

> Merci pour cette solution. Par contre, je cherchais un bout de code qui
> puisse générer ce genre de table automatiquement, sans que l'on précise
> à chaque fois "article = 4", article = 3, etc. En effet, la BD que j'ai
> mis en ligne n'est qu'un extrait. En réalité, j'ai plus de 900 entrées.
> Est-il possible d'automatiser ce morceau de code ?

J'ai aussi essayé d'écrire du sql pur. 
Je n'aurai pas été capable de trouver le code de Benoit, faute de connaître et de savoir utiliser le CASE.

Je suis arrivé à ça:


#+BEGIN_SRC sqlite :db ""
create table t(nb_art INTEGER,genre TEXT,Nb_Enfants INTEGER);
..import usenet1.csv t
..headers on

create view if not exists N1 as select Nb_Enfants,genre, count (nb_art) as n1 from t where nb_art = "1" group by Nb_Enfants, genre ;
create view if not exists N2 as select Nb_Enfants,genre, count (nb_art) as n2 from t where nb_art = "2" group by Nb_Enfants, genre ;
create view if not exists N3 as select Nb_Enfants,genre, count (nb_art) as n3 from t where nb_art = "3" group by Nb_Enfants, genre ;
create view if not exists N4 as select Nb_Enfants,genre, count (nb_art) as n4 from t where nb_art = "4" group by Nb_Enfants, genre ;

select Nb_Enfants,genre, n1,n2,n3,n4 from N1 natural join N2 natural join N3 natural join N4; 

#+end_src

Code qui pose le même problème relatif au nombre d'articles codés "en dur".

> Est-il possible d'automatiser ce morceau de code ?

Peut-être est ce possible en pur SQL, mais hors de mes compétences.

Par contre, avec Python, j'imagine bien vaguement une porte de sortie.

Commence par trouver la requête SQL qui donne l'ensemble des "nombres d'articles" possibles.

@+
-- 
Yves