Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione vivo X300 Pro: è ancora lui il re della fotografia mobile, peccato per la batteria
Recensione vivo X300 Pro: è ancora lui il re della fotografia mobile, peccato per la batteria
vivo X300 Pro rappresenta un'evoluzione misurata della serie fotografica del produttore cinese, con un sistema di fotocamere migliorato, chipset Dimensity 9500 di ultima generazione e l'arrivo dell'interfaccia OriginOS 6 anche sui modelli internazionali. La scelta di limitare la batteria a 5.440mAh nel mercato europeo, rispetto ai 6.510mAh disponibili altrove, fa storcere un po' il naso
Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'' per spingere gli handheld gaming PC al massimo
Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'' per spingere gli handheld gaming PC al massimo
Lenovo Legion Go 2 è la nuova handheld PC gaming con processore AMD Ryzen Z2 Extreme (8 core Zen 5/5c, GPU RDNA 3.5 16 CU) e schermo OLED 8,8" 1920x1200 144Hz. È dotata anche di controller rimovibili TrueStrike con joystick Hall effect e una batteria da 74Wh. Rispetto al dispositivo che l'ha preceduta, migliora ergonomia e prestazioni a basse risoluzioni, ma pesa 920g e costa 1.299€ nella configurazione con 32GB RAM/1TB SSD e Z2 Extreme
AWS re:Invent 2025: inizia l'era dell'AI-as-a-Service con al centro gli agenti
AWS re:Invent 2025: inizia l'era dell'AI-as-a-Service con al centro gli agenti
A re:Invent 2025, AWS mostra un’evoluzione profonda della propria strategia: l’IA diventa una piattaforma di servizi sempre più pronta all’uso, con agenti e modelli preconfigurati che accelerano lo sviluppo, mentre il cloud resta la base imprescindibile per governare dati, complessità e lock-in in uno scenario sempre più orientato all’hybrid cloud
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: 3739
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: 3739
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: 3739
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: 3739
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: 3276
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: 3739
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: 736
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: 3739
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: 736
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: 3739
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: 736
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


Recensione vivo X300 Pro: è ancora lui il re della fotografia mobile, peccato per la batteria Recensione vivo X300 Pro: è ancora lui il...
Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'' per spingere gli handheld gaming PC al massimo Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'...
AWS re:Invent 2025: inizia l'era dell'AI-as-a-Service con al centro gli agenti AWS re:Invent 2025: inizia l'era dell'AI-as-a-Se...
Cos'è la bolla dell'IA e perché se ne parla Cos'è la bolla dell'IA e perché se...
BOOX Palma 2 Pro in prova: l'e-reader diventa a colori, e davvero tascabile BOOX Palma 2 Pro in prova: l'e-reader diventa a ...
Un blackout a San Francisco manda in til...
Windows 11 è diventato più...
Apple cambia strategia a causa della cri...
007 First Light: uscita rimandata di due...
Samsung Galaxy A37 e A57: il comparto fo...
DAZN lancia la sua offerta di Natale: My...
Gigabyte fa marcia indietro? Sparito il ...
Alcuni rivenditori giapponesi bloccano l...
Le feste non placano Amazon, anzi: aggio...
Roborock Q10 S5+ a un super prezzo: robo...
Formula sceglie WINDTRE BUSINESS per gar...
EXPO 1.20: AMD migliora il supporto all'...
MacBook Pro con chip M4, 24GB di RAM e 1...
Lefant M330 da 6.000Pa a 139€ o ECOVACS ...
Tornano gli sconti anche sulle scope ele...
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: 16:47.


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