Torna indietro   Hardware Upgrade Forum > Software > Programmazione

La Formula E può correre su un tracciato vero? Reportage da Misano con Jaguar TCS Racing
La Formula E può correre su un tracciato vero? Reportage da Misano con Jaguar TCS Racing
Abbiamo visto ancora una volta la Formula E da vicino, ospiti di Jaguar TCS Racing. In questa occasione però curve e rettilinei erano quelli di un circuito permanente, molto diverso dagli stretti passaggi delle strade di Roma
Lenovo LEGION e LOQ: due notebook diversi, stessa anima gaming
Lenovo LEGION e LOQ: due notebook diversi, stessa anima gaming
Lenovo ha puntato forte sul gaming negli ultimi anni e lo testimoniano i marchi LEGION e LOQ, il primo per gli amanti delle massime prestazioni e dell'assenza di compromessi, il secondo per chi desidera soluzioni dal buon rapporto tra prestazioni e prezzo. Abbiamo provato due esponenti dell'offerta, così da capire l'effettiva differenza prestazionale.
Nothing Ear e Ear (a): gli auricolari per tutti i gusti! La ''doppia'' recensione
Nothing Ear e Ear (a): gli auricolari per tutti i gusti! La ''doppia'' recensione
Nothing propone sul mercato non uno ma ben due auricolari nuovi: Ear di terza generazione e Ear (a) ossia un nuovo modello a basso costo pronto a ritagliarsi una fetta di mercato. Entrambi rimangono fedeli al marchio per il design ancora trasparente ma fanno un balzo in avanti notevole per qualità e soppressione del rumore.  
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 30-10-2021, 10: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, 10:15   #2
misterx
Senior Member
 
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3594
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, 17: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, 18:39   #4
misterx
Senior Member
 
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3594
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, 18: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, 18: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, 19: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, 07:05   #8
misterx
Senior Member
 
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3594
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 07:20.
misterx è offline   Rispondi citando il messaggio o parte di esso
Old 31-10-2021, 15: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, 16:39   #10
misterx
Senior Member
 
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3594
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, 13:26   #11
Kaya
Senior Member
 
Iscritto dal: Apr 2005
Messaggi: 2990
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, 08: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, 09:05   #13
misterx
Senior Member
 
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3594
se il gestionale è tuo, si può sempre accedere via SQL e fare ciò che si vuole.

Ultima modifica di misterx : 04-11-2021 alle 09:08.
misterx è offline   Rispondi citando il messaggio o parte di esso
Old 04-11-2021, 09: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, 12:09   #15
DoctorT
Senior Member
 
Iscritto dal: Jul 2005
Messaggi: 735
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, 14:48   #16
misterx
Senior Member
 
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3594
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, 15:38   #17
DoctorT
Senior Member
 
Iscritto dal: Jul 2005
Messaggi: 735
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, 18:23   #18
misterx
Senior Member
 
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3594
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, 18:50   #19
DoctorT
Senior Member
 
Iscritto dal: Jul 2005
Messaggi: 735
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, 06: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


La Formula E può correre su un tracciato vero? Reportage da Misano con Jaguar TCS Racing La Formula E può correre su un tracciato ...
Lenovo LEGION e LOQ: due notebook diversi, stessa anima gaming Lenovo LEGION e LOQ: due notebook diversi, stess...
Nothing Ear e Ear (a): gli auricolari per tutti i gusti! La ''doppia'' recensione Nothing Ear e Ear (a): gli auricolari per tutti ...
Sony FE 16-25mm F2.8 G: meno zoom, più luce Sony FE 16-25mm F2.8 G: meno zoom, più lu...
Motorola edge 50 Pro: design e display al top, meno il prezzo! Recensione Motorola edge 50 Pro: design e display al top, m...
HiSolution amplia i propri servizi e pun...
F1 24 introdurrà migliorie al mod...
Arriva Omnissa, che prenderà in c...
Turista americano torna dall'Europa e si...
Larian al lavoro su due nuovi giochi, cr...
Microsoft Office LTSC 2024 disponibile i...
Fallout 4 è il gioco più v...
Razer Kishi Ultra: ecco il controller pe...
Il Dimensity 6300 di MediaTek porta il 5...
Google combina i team Android, Chrome e ...
Axiante vuole indagare come le imprese i...
Italia quinto mercato europeo per i vide...
Apple celebra la Giornata della Terra co...
La funzionalità 'AI Explorer' di ...
ASUS ROG Ally: la versione più potente c...
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: 23:05.


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