Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Apple MacBook Air M3: chi deve davvero comprarlo? La recensione
Apple MacBook Air M3: chi deve davvero comprarlo? La recensione
A distanza di circa 8 mesi arriva l’importante aggiornamento dei MacBook Air: nessun cambiamento estetico, ma una revisione hardware interna con l’upgrade al processore M3. Le prestazioni migliorano rispetto alle generazioni precedenti, e questo fa sorgere una domanda spontanea: a chi è rivolto oggi questo laptop? Cerchiamo di capirlo nella nostra recensione 
ASUS ROG Swift OLED PG49WCD: quando QD-OLED e ultrawide si fondono
ASUS ROG Swift OLED PG49WCD: quando QD-OLED e ultrawide si fondono
Da ASUS un monitor particolare ma molto completo: principalmente indirizzato al videogiocatore, può essere sfruttato con efficacia anche per attività creative e di produzione multimediale
Dreame L10s Pro Ultra Heat: la pulizia di casa tutta sostanza
Dreame L10s Pro Ultra Heat: la pulizia di casa tutta sostanza
Il nuovo robot aspirapolvere domestico di Dreame abbina funzionalità complete a un moccio flottante che raggiunge al meglio gli angoli delle pareti. Un prodotto tutto in uno semplice da utilizzare ma molto efficace, in grado di rispondere al meglio alle necessità di pulizia della casa
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 30-10-2021, 11:05   #1
yurassik
Senior Member
 
Iscritto dal: Dec 2003
Città: Ischia
Messaggi: 523
Comparare due database e aggiornarne uno

Nel mio lavoro ho iniziato ad utilizzare etichette elettroniche. Il mio gestionale mi permette unicamente di generare un csv con i prodotti in ordine alfabetico tipo

Nome, prezzo originale, prezzo scontato, percentuale di sconto, ecc.

Il software di gestione vuole però che ad ogni riga, e quindi prodotto, sia associato un id numerico univoco, tipo

ID, nome, prezzo originale, ecc.

Il problema è che ogni volta introduco un prodotto nuovo questo andrà inserito in ordine alfabetico andando a spostare gli ID di tutti i prodotti, non consentendomi l’importazione automatica di un nuovo csv.

Esiste un modo per automatizzare la comparazione di due Spreadsheet e di aggiornare il nuovo in automatico?

Sono alla ricerca di qualcuno, anche a pagamento, che mi aiuti a risolvere il problema.

Grazie a tutti
yurassik è offline   Rispondi citando il messaggio o parte di esso
Old 30-10-2021, 11:15   #2
misterx
Senior Member
 
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3593
metti un esempio di cosa vuoi ottenere così si capisce meglio
misterx è offline   Rispondi citando il messaggio o parte di esso
Old 30-10-2021, 18:19   #3
yurassik
Senior Member
 
Iscritto dal: Dec 2003
Città: Ischia
Messaggi: 523
Quote:
Originariamente inviato da misterx Guarda i messaggi
metti un esempio di cosa vuoi ottenere così si capisce meglio
File 1 output originario dal gestionale

Nome, prezzo originale, prezzo scontato, percentuale di sconto

Bounty, 1.00, 1.00, 0
Mars, 1.00, 0.90, 10
Twix 1.50, 1.20, 20

File 2 input software esl

ID, nome, prezzo originale, prezzo scontato, percentuale di sconto

1, Bounty, 1.00, 1.00, 0
2, Mars, 1.00, 0.90, 10
3, Twix 1.50, 1.20, 20

Ora mettiamo che inserisco un nuovo prodotto Raffaello il gestionale genera un csv

Bounty, 1.00, 1.00, 0
Mars, 1.00, 0.90, 10
Raffaello, 0.50, 0.50, 0
Twix 1.50, 1.20, 20

Che se importo pari pari avrà un risultato

1, Bounty, 1.00, 1.00, 0
2, Mars, 1.00, 0.90, 10
3, Raffaello, 0.50, 0.50, 0
4, Twix 1.50, 1.20, 20

Andandomi a cambiare gli ID di tutte le righe dopo “Raffaello”
yurassik è offline   Rispondi citando il messaggio o parte di esso
Old 30-10-2021, 19:39   #4
misterx
Senior Member
 
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3593
chi decide la posizione dell'ultimo inserimento?

Mi aspettavo che Raffaello fosse l'ultima voce e quindi il problema non si poneva.
misterx è offline   Rispondi citando il messaggio o parte di esso
Old 30-10-2021, 19:55   #5
Yramrag
Senior Member
 
L'Avatar di Yramrag
 
Iscritto dal: Nov 2017
Città: Verona (VEROITBC)
Messaggi: 5359
l'ID numerico è la chiave primaria (univoca) della tabella articoli?
Se viene inserito un nuovo articolo, viene inserito in ordine alfabetico causando un rename dei record? Ho capito male?
Yramrag è offline   Rispondi citando il messaggio o parte di esso
Old 30-10-2021, 19:57   #6
yurassik
Senior Member
 
Iscritto dal: Dec 2003
Città: Ischia
Messaggi: 523
Il mio problema è proprio quello. Ogni volta che genero il csv dal gestionale è prodotto in ordine alfabetico rendendomi impossibile automatizzarlo
yurassik è offline   Rispondi citando il messaggio o parte di esso
Old 30-10-2021, 20:43   #7
yurassik
Senior Member
 
Iscritto dal: Dec 2003
Città: Ischia
Messaggi: 523
Quote:
Originariamente inviato da Yramrag Guarda i messaggi
l'ID numerico è la chiave primaria (univoca) della tabella articoli?
Se viene inserito un nuovo articolo, viene inserito in ordine alfabetico causando un rename dei record? Ho capito male?
Il passaggio tra i due csv è manuale. Cercavo appunto un modo di automatizzare la procedura
yurassik è offline   Rispondi citando il messaggio o parte di esso
Old 31-10-2021, 08:05   #8
misterx
Senior Member
 
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3593
quindi il gestionale genera il csv senza ID ed in ordine alfabetico, ma non in ordine di inserimento.
Non mi è chiaro se a te l'output interessa mantenendo l'ordine di inserimento, magari attraverso data e ora che non vedo nel csv generato dal gestionale.

Ultima modifica di misterx : 31-10-2021 alle 08:20.
misterx è offline   Rispondi citando il messaggio o parte di esso
Old 31-10-2021, 16:35   #9
yurassik
Senior Member
 
Iscritto dal: Dec 2003
Città: Ischia
Messaggi: 523
Quote:
Originariamente inviato da misterx Guarda i messaggi
quindi il gestionale genera il csv senza ID ed in ordine alfabetico, ma non in ordine di inserimento.
Non mi è chiaro se a te l'output interessa mantenendo l'ordine di inserimento, magari attraverso data e ora che non vedo nel csv generato dal gestionale.
Quello che mi importa è preservare l’assegnazione ID al prodotto giusto. La prima volta è bastato inserire un ID corrispondente al numero riga, ma ora non posso più farlo perché mi scompiscerebbe tutte le corrispondenze ID-prodotto.
E parlo di un database di 18mila righe circa con 650 assegnazioni ID-prodotto.

Sono anche disposto a rifare tutto da capo a patto di trovare un modo di automatizzare il tutto.
yurassik è offline   Rispondi citando il messaggio o parte di esso
Old 31-10-2021, 17:39   #10
misterx
Senior Member
 
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3593
Quote:
Originariamente inviato da yurassik Guarda i messaggi
Il mio problema è proprio quello. Ogni volta che genero il csv dal gestionale è prodotto in ordine alfabetico rendendomi impossibile automatizzarlo
e l'output genera il CSV senza ID, è così?
E quando inserisci un nuovo articolo, il gestionale non rinomina l'ID, ma è solo una impressione in quanto ti ritrovi con l'ordine alfabetico.

Mi viene da pensare che se il gesionale producesse un CSV sena riordino, avresti a disposizione una lista ordinata per inserimento: è così?
misterx è offline   Rispondi citando il messaggio o parte di esso
Old 02-11-2021, 14:26   #11
Kaya
Senior Member
 
Iscritto dal: Apr 2005
Messaggi: 2984
Non puoi chiedere al supporto del gestionale un export in cui includano anche l'id ?
Kaya è offline   Rispondi citando il messaggio o parte di esso
Old 04-11-2021, 09:40   #12
yurassik
Senior Member
 
Iscritto dal: Dec 2003
Città: Ischia
Messaggi: 523
Quote:
Originariamente inviato da misterx Guarda i messaggi
e l'output genera il CSV senza ID, è così?
E quando inserisci un nuovo articolo, il gestionale non rinomina l'ID, ma è solo una impressione in quanto ti ritrovi con l'ordine alfabetico.

Mi viene da pensare che se il gesionale producesse un CSV sena riordino, avresti a disposizione una lista ordinata per inserimento: è così?
Purtroppo l'unica opzione che ho è un output in ordine alfabetico o, in alternativa, in ordine di codice EAN che comunque non risolve il problema.


Quote:
Originariamente inviato da Kaya Guarda i messaggi
Non puoi chiedere al supporto del gestionale un export in cui includano anche l'id ?
Certo, per la modica cifra di 3000 euro più 300 euro all'anno, per un file csv mi pare un pizzico eccessivo.
yurassik è offline   Rispondi citando il messaggio o parte di esso
Old 04-11-2021, 10:05   #13
misterx
Senior Member
 
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3593
se il gestionale è tuo, si può sempre accedere via SQL e fare ciò che si vuole.

Ultima modifica di misterx : 04-11-2021 alle 10:08.
misterx è offline   Rispondi citando il messaggio o parte di esso
Old 04-11-2021, 10:59   #14
yurassik
Senior Member
 
Iscritto dal: Dec 2003
Città: Ischia
Messaggi: 523
Quote:
Originariamente inviato da misterx Guarda i messaggi
se il gestionale è tuo, si può sempre accedere via SQL e fare ciò che si vuole.
Il gestionale è in licenza e non mi daranno mai la password del database sql, poi anche fosse non sono competente
yurassik è offline   Rispondi citando il messaggio o parte di esso
Old 04-11-2021, 13:09   #15
DoctorT
Senior Member
 
Iscritto dal: Jul 2005
Messaggi: 734
Quote:
Originariamente inviato da yurassik Guarda i messaggi
File 1 output originario dal gestionale

Nome, prezzo originale, prezzo scontato, percentuale di sconto

Bounty, 1.00, 1.00, 0
Mars, 1.00, 0.90, 10
Twix 1.50, 1.20, 20

File 2 input software esl

ID, nome, prezzo originale, prezzo scontato, percentuale di sconto

1, Bounty, 1.00, 1.00, 0
2, Mars, 1.00, 0.90, 10
3, Twix 1.50, 1.20, 20

Ora mettiamo che inserisco un nuovo prodotto Raffaello il gestionale genera un csv

Bounty, 1.00, 1.00, 0
Mars, 1.00, 0.90, 10
Raffaello, 0.50, 0.50, 0
Twix 1.50, 1.20, 20

Che se importo pari pari avrà un risultato

1, Bounty, 1.00, 1.00, 0
2, Mars, 1.00, 0.90, 10
3, Raffaello, 0.50, 0.50, 0
4, Twix 1.50, 1.20, 20

Andandomi a cambiare gli ID di tutte le righe dopo “Raffaello”
Se ho capito bene il risultato che vorresti ottenere è :

1, Bounty, 1.00, 1.00, 0
2, Mars, 1.00, 0.90, 10
3, Twix 1.50, 1.20, 20
4, Raffaello, 0.50, 0.50, 0

se è cosi si può ottenere con uno script in python non troppo complesso
ovviamente si puo fare più o meno in qualsiasi linguaggio di programmazione
__________________
O.S.: WIN 10 64-bit CPU: INTEL I5 12400F RAM: 16 GB Corsair Vengeance LPX 3200 Mhz VGA: MSI ARMOR RX570 4GB OC MOBO: ASROCK B660M PRO RS HDD: Seagate 1TB SDD: CRUCIAL MX500 500GB ALI: BE QUIET PURE POWER CM 11 600W
DoctorT è offline   Rispondi citando il messaggio o parte di esso
Old 04-11-2021, 15:48   #16
misterx
Senior Member
 
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3593
il problema è che il gestionale gli genera un output senza ID e riordina in base al nome dell'articolo. In questo modo perdi l'ordine temporale degli inserimenti. Senza mettere le mani nel DB sei obbligato a tenere una traccia separata di quello che inserisci.
misterx è offline   Rispondi citando il messaggio o parte di esso
Old 04-11-2021, 16:38   #17
DoctorT
Senior Member
 
Iscritto dal: Jul 2005
Messaggi: 734
non so la logica dovrebbe essere abbastanza semplice ...
carico i 2 files csv in 2 linked list
scorro in modo sequenziale la prima lista,
controllo se il prodotto è presente nella seconda lista,
se si aggiorno i dati di prezzo, e sconto
se no aggiungo un nuovo elemento alla fine della lista creando un ID in ordine progressivo di inserimento
salvo la seconda lista sul disco

chiaramente definire tutti i dettagli dell'implementazione richiede
un pochino di temp ma niente di trascendentale.
Si potrebbe ragionare un pochino sulle prestazioni ma per poche migliaia di
record non ci sono problemi.
__________________
O.S.: WIN 10 64-bit CPU: INTEL I5 12400F RAM: 16 GB Corsair Vengeance LPX 3200 Mhz VGA: MSI ARMOR RX570 4GB OC MOBO: ASROCK B660M PRO RS HDD: Seagate 1TB SDD: CRUCIAL MX500 500GB ALI: BE QUIET PURE POWER CM 11 600W
DoctorT è offline   Rispondi citando il messaggio o parte di esso
Old 04-11-2021, 19:23   #18
misterx
Senior Member
 
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3593
sempre che gli articoli non vengano mai rimossi dal DB. Solitamente, nei DB seri, non accade mai che un articolo viene cancellato, rimane come storico e si continua ad aggiungere.
Se ha un file di storico che conserva sin dall'inizio, anche il "semplice" excel può assolvere a questo compito.
misterx è offline   Rispondi citando il messaggio o parte di esso
Old 04-11-2021, 19:50   #19
DoctorT
Senior Member
 
Iscritto dal: Jul 2005
Messaggi: 734
Quote:
Originariamente inviato da misterx Guarda i messaggi
sempre che gli articoli non vengano mai rimossi dal DB. Solitamente, nei DB seri, non accade mai che un articolo viene cancellato, rimane come storico e si continua ad aggiungere.
Se ha un file di storico che conserva sin dall'inizio, anche il "semplice" excel può assolvere a questo compito.
si può sempre fare un secondo passaggio per eliminare articoli non più presenti ... anche se forse non è necessario.
Si può fare anche con macro excel ma è un po meno automatizzato, con uno script basterebbe una riga di comando per lanciarlo.
__________________
O.S.: WIN 10 64-bit CPU: INTEL I5 12400F RAM: 16 GB Corsair Vengeance LPX 3200 Mhz VGA: MSI ARMOR RX570 4GB OC MOBO: ASROCK B660M PRO RS HDD: Seagate 1TB SDD: CRUCIAL MX500 500GB ALI: BE QUIET PURE POWER CM 11 600W
DoctorT è offline   Rispondi citando il messaggio o parte di esso
Old 05-11-2021, 07:49   #20
yurassik
Senior Member
 
Iscritto dal: Dec 2003
Città: Ischia
Messaggi: 523
Quote:
Originariamente inviato da DoctorT Guarda i messaggi
non so la logica dovrebbe essere abbastanza semplice ...
carico i 2 files csv in 2 linked list
scorro in modo sequenziale la prima lista,
controllo se il prodotto è presente nella seconda lista,
se si aggiorno i dati di prezzo, e sconto
se no aggiungo un nuovo elemento alla fine della lista creando un ID in ordine progressivo di inserimento
salvo la seconda lista sul disco

chiaramente definire tutti i dettagli dell'implementazione richiede
un pochino di temp ma niente di trascendentale.
Si potrebbe ragionare un pochino sulle prestazioni ma per poche migliaia di
record non ci sono problemi.
Se sei disposto ad occupartene sono più che felice di compensare per questo lavoro.
Scrivimi in MP
yurassik è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Apple MacBook Air M3: chi deve davvero comprarlo? La recensione Apple MacBook Air M3: chi deve davvero comprarlo...
ASUS ROG Swift OLED PG49WCD: quando QD-OLED e ultrawide si fondono ASUS ROG Swift OLED PG49WCD: quando QD-OLED e ul...
Dreame L10s Pro Ultra Heat: la pulizia di casa tutta sostanza Dreame L10s Pro Ultra Heat: la pulizia di casa t...
HONOR Magic6 Pro: come funziona Magic Portal, il modo ''intelligente'' di condividere HONOR Magic6 Pro: come funziona Magic Portal, il...
L'innovazione richiede fiducia: Workday si propone come guida nell'era dell'IA L'innovazione richiede fiducia: Workday si propo...
Italia strategica per Oracle. Arriva la ...
Sam-Bankman Fried: 25 anni di reclusione...
Mobility Analytics di WINDTRE Business p...
Il lander lunare JAXA SLIM si è r...
Warframe conquista l'iPhone: senza soluz...
Marvel Rivals!, l'inaspettato shooter Pv...
Twitch aggiorna le linee guida sui conte...
Galaxy M55 ufficiale: la nuova fascia me...
Google corregge sette vulnerabilit&agrav...
IA: le imprese italiane sono in prima li...
Garmin Dash Cam 57: un'alleata perfetta ...
Elgato Facecam MK2: come rendere ancora ...
2 iRobot Roomba al prezzo più sco...
La tua connessione in fibra ottica potre...
Il controller DualSense per PS5 con un p...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 21:13.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Served by www1v