Torna indietro   Hardware Upgrade Forum > Software > Programmazione

HONOR Magic4 Pro: ora può competere con i più grandi! La recensione
HONOR Magic4 Pro: ora può competere con i più grandi! La recensione
HONOR decide di puntare in alto e per farlo propone agli utenti HONOR Magic4 Pro, il suo smartphone più potente, più versatile ma anche quello più costoso. Un device magico, così lo dichiara HONOR, grazie ad un comparto fotocamere ad alta risoluzione, ricarica rapida a 100W e ancora un display con refresh rate a 120Hz. Può competere con gli altri top di gamma? La risposta nella nostra recensione. 
HUAWEI MatePad (2022), tablet che vince si cambia poco. La recensione
HUAWEI MatePad (2022), tablet che vince si cambia poco. La recensione
HUAWEI rinnova, senza rivoluzionare, il suo MatePad. Si tratta di un tablet dall'ottimo rapporto qualità-prezzo che può rappresentare la soluzione ideale per la stragrande maggioranza degli utenti. Rispetto al modello precedente si migliora solo marginalmente in alcuni ambiti, mantenendo il riuscito design e l'ottima ergonomia e guadagnando il supporto alla M-Pencil di seconda generazione. Lo abbiamo testato e vi raccontiamo come si comporta.
Warcraft diventa mobile ed è come Clash Royale
Warcraft diventa mobile ed è come Clash Royale
Abbiamo provato la versione beta di Warcraft: Arclight Rumble. Dopo Hearthstone, Blizzard punta massicciamente sulle piattaforme mobile, stavolta con un progetto esclusivo per esse. Incrocia le meccaniche dei primi Warcraft RTS con quelle di Clash Royale
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: 522
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: 3583
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: 522
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: 3583
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: 4995
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: 522
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: 522
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: 3583
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: 522
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: 3583
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: 2422
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: 522
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: 3583
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: 522
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: 703
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: 3583
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: 703
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: 3583
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: 703
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: 522
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


HONOR Magic4 Pro: ora può competere con i più grandi! La recensione HONOR Magic4 Pro: ora può competere con i...
HUAWEI MatePad (2022), tablet che vince si cambia poco. La recensione HUAWEI MatePad (2022), tablet che vince si cambi...
Warcraft diventa mobile ed è come Clash Royale Warcraft diventa mobile ed è come Clash R...
ASUS ProArt PA329CV: un 32 pollici 4k dai colori eccellenti ASUS ProArt PA329CV: un 32 pollici 4k dai colori...
L'evoluzione delle CPU Ryzen, con Robert Hallock di AMD L'evoluzione delle CPU Ryzen, con Robert Hallock...
Epic Games Store regala la raccolta rema...
Parte la costruzione della farm Bitcoin ...
HP Dev One: arriva il primo portatile HP...
Nothing Phone (1) pronto al lancio con u...
Broadcom acquisisce VMware: 61 miliardi ...
Rotazione completa sul posto: Mercedes s...
Neural-Fly: l'Intelligenza Artificiale a...
AMD si corregge: il socket AM5 ha un PPT...
La rete Ionity pronta a crescere di quat...
Zoom, due vulnerabilità consenton...
Samsung leader del mercato smartphone in...
L'asteroide 1989 JA passerà ''vicino'' a...
PlayStation VR2: al lancio con 20 giochi...
Stampante 3D, offerta super via coupon p...
La navicella Boeing CST-100 Starliner è ...
Thunderbird Portable
Windows 10 Manager
Google Chrome Portable
Driver NVIDIA GeForce 512.95 WHQL
Chromium
BurnAware Premium
BurnAware Free
SmartFTP
Paint.NET
Dropbox
Google Chrome 102
Avast! Free Antivirus
Firefox Portable
AnyDVD HD
AMD Software Adrenalin 22.5.2
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:50.


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