opendatasicilia / tansignari

"T'ansignari e t'appeddiri"
http://tansignari.opendatasicilia.it
Creative Commons Attribution 4.0 International
18 stars 10 forks source link

[Miller] join tra due file con nomi campi diversi #168

Closed pigreco closed 3 years ago

pigreco commented 3 years ago

Miller permette di fare una join tabellare tra due tabelle anche se i due campi correlati hanno nomi diversi, la sintassi del comando è qui:

ho due file (che allego) e devo unire tramite i campi cod_com (file di sinistra) e COD_COMUNE file di destra, il comando è:

mlr join -j cod_com -r COD_COMUNE -f conteggi.csv then unsparsify comuniADE.csv >conteggiADE.csv

ma ottengo un output vuoto!

file: conteggi.csv:

cod_com,nro_fogli,nro_particelle
A195,31,15720
A202,37,11308
A203,14,7311
A229,23,18872
A239,32,18837
A546,27,38417
A592-A,4,2758
A592,10,9555

file: comuniADE.csv:

id,COD_COMUNE,DENOMINAZIONE,SIGLA_PROVINCIA
0,A195,ALIA,PA
1,A202,ALIMENA,PA
2,A203,ALIMINUSA,PA
3,A229,ALTAVILLA MILICIA,PA
4,A239,ALTOFONTE,PA
5,A546,BAGHERIA,PA
6,A592,BALESTRATE,PA
7,A592-A,BALESTRATE/sez.A,PA
8,A719,BAUCINA,PA
9,A764,BELMONTE MEZZAGNO,PA
10,A882,BISACQUINO,PA
11,M268,BLUFI,PA
12,A946,BOLOGNETTA,PA
13,A958,BOMPIETRO,PA
14,A991,BORGETTO,PA
15,B315,CACCAMO,PA
16,B430,CALTAVUTURO,PA
17,B533,CAMPOFELICE DI FITALIA,PA
18,B532,CAMPOFELICE DI ROCCELLA,PA
19,B535,CAMPOFIORITO,PA
20,B556,CAMPOREALE,PA
21,B645,CAPACI,PA
22,B780,CARINI,PA
23,C067,CASTELBUONO,PA
24,C074,CASTELDACCIA,PA
25,C135,CASTELLANA SICULA,PA
26,C344,CASTRONUOVO DI SICILIA,PA
27,C420,CEFALA` DIANA,PA
28,C421,CEFALU`,PA
29,C496,CERDA,PA
30,C654,CHIUSA SCLAFANI,PA
31,C696,CIMINNA,PA
32,C708,CINISI,PA
33,C871,COLLESANO,PA
34,C968,CONTESSA ENTELLINA,PA
35,D009,CORLEONE,PA
36,D009-A,CORLEONE/sez.A,PA
37,D567,FICARAZZI,PA
38,D907,GANGI,PA
39,D977,GERACI SICULO,PA
40,E013,GIARDINELLO,PA
41,E013-A,GIARDINELLO/sez.A,PA
42,E055,GIULIANA,PA
43,E074,GODRANO,PA
44,E074-A,GODRANO/sez.A,PA
45,E149,GRATTERI,PA
46,E337,ISNELLO,PA
47,E350,ISOLA DELLE FEMMINE,PA
48,E459,LASCARI,PA
49,E541,LERCARA FRIDDI,PA
50,E541-A,LERCARA FRIDDI/sez.A,PA
51,E957,MARINEO,PA
52,F184,MEZZOJUSO,PA
53,F246,MISILMERI,PA
54,F377,MONREALE,PA
55,F544,MONTELEPRE,PA
56,F553,MONTEMAGGIORE BELSITO,PA
57,G263,PALAZZO ADRIANO,PA
58,G273,PALERMO,PA
59,G348,PARTINICO,PA
60,G510,PETRALIA SOPRANA,PA
61,G511,PETRALIA SOTTANA,PA
62,G543,PIANA DEGLI ALBANESI,PA
63,G792,POLIZZI GENEROSA,PA
64,G797,POLLINA,PA
65,H070,PRIZZI,PA
66,H422,ROCCAMENA,PA
67,H428,ROCCAPALUMBA,PA
68,H797,SAN CIPIRELLO,PA
69,H933,SAN GIUSEPPE IATO,PA
70,I028,SAN MAURO CASTELVERDE,PA
71,I174,SANTA CRISTINA GELA,PA
72,I188,SANTA FLAVIA,PA
73,I534,SCIARA,PA
74,I538,SCILLATO,PA
75,I541,SCLAFANI BAGNI,PA
76,L112,TERMINI IMERESE,PA
77,L112-A,TERMINI IMERESE/sez.A,PA
78,L131,TERRASINI,PA
79,L282,TORRETTA,PA
80,L317,TRABIA,PA
81,L317-A,TRABIA/sez.A,PA
82,L332,TRAPPETO,PA
83,L519,USTICA,PA
84,L603,VALLEDOLMO,PA
85,L740,VENTIMIGLIA DI SICILIA,PA
86,L837,VICARI,PA
87,L916,VILLABATE,PA
88,L951,VILLAFRATI,PA

tototo.zip

Uso Miller v. 5.10

aborruso commented 3 years ago

Caro @pigreco manca una cosa di base: il formato di input e output.

Se non lo dichiari - e tu non lo dichiari - è quello di default, che non è il CSV. E tu in input hai CSV e penso vorrai output in CSV.

Quindi devi aggiungere --csv

mlr --csv join -j cod_com -r COD_COMUNE -f conteggi.csv then unsparsify comuniADE.csv >conteggiADE.csv
+---------+-----------+----------------+----+-------------------+-----------------+
| cod_com | nro_fogli | nro_particelle | id | DENOMINAZIONE     | SIGLA_PROVINCIA |
+---------+-----------+----------------+----+-------------------+-----------------+
| A195    | 31        | 15720          | 0  | ALIA              | PA              |
| A202    | 37        | 11308          | 1  | ALIMENA           | PA              |
| A203    | 14        | 7311           | 2  | ALIMINUSA         | PA              |
| A229    | 23        | 18872          | 3  | ALTAVILLA MILICIA | PA              |
| A239    | 32        | 18837          | 4  | ALTOFONTE         | PA              |
| A546    | 27        | 38417          | 5  | BAGHERIA          | PA              |
| A592    | 10        | 9555           | 6  | BALESTRATE        | PA              |
| A592-A  | 4         | 2758           | 7  | BALESTRATE/sez.A  | PA              |
+---------+-----------+----------------+----+-------------------+-----------------+
pigreco commented 3 years ago

@aborruso grazie, non credo serva ricetta e quindi chiudo. :-(