Unire molteplici CSV automaticamente in due CSV prestabiliti

Discussioni sull'applicazione per i fogli di calcolo
Rispondi
MauroMario
Messaggi: 48
Iscritto il: venerdì 26 marzo 2021, 13:53

Unire molteplici CSV automaticamente in due CSV prestabiliti

Messaggio da MauroMario »

Buongiorno a tutti,
avrei bisogno del vostro aiuto per poter automatizzare l'unione di molteplici files CSV e TXT in due nuovi files CSV che servono per l'importazione e aggiornamento di un sistema e-commerce basato sulla piattaforma Shopify.
Premetto che i file in questione sono file di prodotto provenienti da diverse società e per tale ragione non è possibile avere file estratti uniformemente dalle rispettive società.
Ogni fornitore fornisce il file così come lo estrae e non vi è modo di chiedere delle modifiche specifiche.
Un'altra cosa che vorrei segnalare è che quasi sempre i fornitori forniscono i loro data base prodotti suddivisi in due files, uno contenete tutte le informazioni di ogni singolo prodotto (es. codice prodotto, prezzo, descrizione, categoria, barcode, sku etc...) e un secondo file che di solito contiene il codice prodotto e i link delle immagini relative a quel prodotto (in taluni casi però è necessario unire delle informazioni quali ad esempio una stringa parziale del link+il nome file dell'immagine + i primi sette numeri del nome file (che corrisponde alla cartella nella quale sono salvate le singole immagini).
Alcuni fornitori forniscono un file CSV dal quale estrarre i link delle immagini e un file TXT dove strarre i dati prodotto.
Questo solo per farvi capire che i file dai quali dover estrarre le informazioni sono sempre due per ogni fornitore e da tali dati si devono andare a comporre automaticamente due ulteriori file CSV che serviranno a caricare i prodotti sull'e-commerce e tenere aggiornate le quantità disponibili e il prezzo dei prodotti.

In una mia precedente richiesta un vostro gentilissimo collega che mi permetto ancora di ringraziare moltissimo, mi ha aiutato a capire in che modo poter unire due fogli di calcolo e trasformarli in un'unico foglio dove vi siano tutte le informazioni oltre ai link immagini relativi ai prodotti.
Nella macro che ha generato è stato possibile inserire in ogni riga le informazioni relative ai prodotti suddivise per codice prodotto, creare i link delle immagini che dovevano essere composti da una serie di informazioni (un link parziale+i primi 7 numeri del nome file+il nomefile.png) e di riuscire anche a esaminare se di un prodotto vi fossero più immagini, in tal caso il sistema ricopiava le informazioni ed evidenziava in verde che tale linea era relativa ad una immagine aggiuntiva di un dato prodotto.
Qui potete vedere la mia richiesta e come è stato risolto il problema. viewtopic.php?f=9&t=11145

Vorrei riportare alcune considerazioni:
- Il numero di prodotti è piuttosto importante (si tratta di circa 40/50.000 prodotti per ogni fornitore)
- Ho la necessità di poter elaborare circa 25/30 fornitori contemporaneamente
- Vorrei trovare un modo per non dover copiare i dati dai files arrivati dai fornitori e importarli in una tabella ma poter usare direttamente i files consegnati (magari utilizzando delle apposite caselle email)
- Vorrei trovare un modo per elaborare i dati abbastanza velocemente (il sistema utilizzato nella mia precedente richiesta che ha utilizzato una macro è stata molto efficace ma per elaborare circa 40.000 prodotti ha impiegato quasi tre giorni, ma la mia esigenza sarebbe quella di poter tenere aggiornato l'inventario con quantità e prezzi almeno una o due volte al giorno). Non so se il tempo di elaborazione fosse dovuto magari ad un problema che io non sia stato in gradi di cogliere (io ho usato per l'elaborazione un Mac Book pro di ultima generazione piuttosto potente), in ho stimato che la macro riusciva ad elaborare una riga circa ogni 5/6 secondi che si grandi quantità fa dilatare i tempi in modo notevole.
- I dati che devono essere elaborati dai file pervenuti devono suddividersi in due file CVS, uno per la gestione prodotti e uno per l'inventario prodotti (in allegato trovate i due template CSV rinominati template prodotti e template inventario)
- Quello che mi servirebbe principalmente è essere in grado di generare i due template in modo completo una volta ogni 2/3gg mentre poi ogni giorno almeno due volte al giorno avrei bisogno di generare solo i template che contengano i dati variati rispetto al caricamento precedente (ovvero variazioni di quantità o prezzo e prodotti aggiunti o rimossi).

Vi sarei molto molto grato se poteste aiutarmi a sviluppare questo sistema e a capire quali siano i modo migliori per ottimizzare i problemi di cui sopra.
Resto a disposizione per qualunque necessità o chiarimento potesse servire per meglio comprendere come poter indirizzarmi verso una soluzione corretta.
Grazie ancora per quanto potrete aiutarmi a fare.

Lo scopo, una volta inseriti i prodotti una prima volta e le relative quantità è quello di confrontare i files CSV che vengono estratti dall'ecommerce (template inventario e template prodotti) con i dati presenti nei CSV dei fornitori al fine di poter sovrascrivere le nuove quantità disponibili, eventuali variazioni di prezzo e segnalare se ci sono nuovi prodotti da pubblicare o eventualmente prodotti che non sono più presenti e dunque non più disponibili.

Sarei molto grato anche se qualcuno volesse aiutarmi in questo sviluppo in modo tale da trovare una soluzione che possa essere idonea alle esigenze sposte.
Grazie ancora per qualunque vostra tipologia di aiuto.
Con cordialità


In allegato trovate:
Esempio del template da compilare automaticamente TEMPLATE INVENTARIO
Esempio del template da compilare automaticamente TEMPLATE PRODOTTI
Esempio CSV di un fornitore (file fornitore CSV con due tabelle, una per dati prodotti e una per immagini) (ESEMPIO FILE.ODS)
template prodotti.csv
Esempio con alcuni articoli del template prodotti contente alcune referenze come esempio
(24.61 KiB) Scaricato 65 volte
template inventario.csv
Esempio con alcuni articoli del template inventario suddiviso per fornitori
(6.93 KiB) Scaricato 64 volte

Mauro Mario
Allegati
ESEMPIO FILE (1).ods
Esempio di un file CSV di un fornitore suddiviso in due tabelle, una per le immagini e uno per i prodotti
(22.69 KiB) Scaricato 60 volte
Open Office 4.1.9 per Mac - Sistema Operativo MAC OS Big SUR
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8786
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: Unire molteplici CSV automaticamente in due CSV prestabi

Messaggio da charlie »

Confesso di non aver letto tutto ... :oops:
MauroMario ha scritto:- Il numero di prodotti è piuttosto importante (si tratta di circa 40/50.000 prodotti per ogni fornitore)
- Ho la necessità di poter elaborare circa 25/30 fornitori contemporaneamente
Non credo che Base e il suo modesto HSQLDB 1.8 siano adatti.
charlie
macOS 14.3 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
MauroMario
Messaggi: 48
Iscritto il: venerdì 26 marzo 2021, 13:53

Re: Unire molteplici CSV automaticamente in due CSV prestabi

Messaggio da MauroMario »

Ho letto sul forum che è possibile programmare in OpenOffice e poi convertire quanto fatto in Pyton o altri sistemi al fine di velocizzare i calcoli. Il vantaggio sarebbe quello di poter comunque programmare un sistema con OpenOffice che è molto più semplice e più facile anche fare test di simulazione intermedia.
Cosa ne pensate?
Open Office 4.1.9 per Mac - Sistema Operativo MAC OS Big SUR
patel
Volontario attivo
Volontario attivo
Messaggi: 4019
Iscritto il: venerdì 30 aprile 2010, 8:04
Località: Livorno

Re: Unire molteplici CSV automaticamente in due CSV prestabi

Messaggio da patel »

MauroMario ha scritto:Ho letto sul forum che è possibile programmare in OpenOffice e poi convertire quanto fatto in Pyton o altri sistemi al fine di velocizzare i calcoli.
Non mi risulta, dove l'hai letto ? posta il link.

Suggerimento: più il post è lungo e meno probabilità hai che qualcuno lo legga.
-------------------
Libre Office 7.5.3.2 su Windows 11
allega un file di esempio, guadagnerai tempo tu e lo farai risparmiare a chi ti aiuta
MauroMario
Messaggi: 48
Iscritto il: venerdì 26 marzo 2021, 13:53

Re: Unire molteplici CSV automaticamente in due CSV prestabi

Messaggio da MauroMario »

Cerco dove l'ho letto, si parlava comunque nel modo di velocizzare le macro e per l'appunto si faceva riferimento alla possibilità di creare il tutto in OpenOffice per poi trasferirlo in Pyton ma può essere che abbia anche frainteso... in ogni caso controllo e lo linko appena possibile.
Per il resto hai perfettamente ragione ma non sapevo come spiegare in modo coinciso quello che mi servirebbe fare.
Ho provato anche a mettere un'annuncio per trovare una collaborazione nell'apposita sezione ma purtroppo nessuno mi ha risposto al momento.
Proverò magari a postare una nuova richiesta più coincisa.
Grazie
Open Office 4.1.9 per Mac - Sistema Operativo MAC OS Big SUR
Rispondi