Forum Italiano sui Prodotti NI

annulla
Visualizzazione dei risultati per 
Cerca invece 
Intendevi dire: 

file csv labview

Salvare. Avrei necessità di prendere i valori di un array bidimensionale e scriverli su un file in formato csv.

Riesco a scriverli però non mi da la giusta formattazione.

Se io ho un array composto così: 1 2 3 4 5

e lo vado a scrivere su questo file excel, i numeri 1 2 3 4 e 5 non vengono scritti ciascuno in una cella separatamente, ma vengono messi tutti insieme nella stessa celletta come se fossero un numero unico, in questo caso il numero 12345.

Sto utilizzando il blocco write to spreadsheet file e come valore di delimiter sto utilizzando quello di default, ovvero \t, che infatti corrisponde al tab. Il tab su un file per blocco note me lo prende correttamente, ma se provo a scrivere su un file excel mi si presenta il problema che vi ho spiegato sopra.

 

Qualcuno sa aiutarmi?!

Non credo ci sia niente di difficile ma non so dove sbaglio.

 

Saluti

Giovanni

0 Kudos
Messaggio 1 di 5
4.591Visualizzazioni

Mi sembra di capire che il problema non è scrivere il file ma rileggerlo dentro Excel, giusto?

 

Hai un po' di alternative al riguardo:

  • Scrivere un file .CSV "corretto" cioè cambiando il delimitatore in punto e virgola o virgola
  • Scrivere un file in formato .TSV: usa il tabulatore per separare i campi ma cambia l'estensione in .TXT
  • Modificare le impostazioni del PC per importare correttamente i file col tabulatore

L'ultima opzione è la più drastica perchè si riflette su tutti i programmi che leggono/scrivono elenchi (Excel ma non solo). Per la separazione dei campi Excel si appoggia sul cd "separatore di elenco" definito nel sistema; tale separatore può essere modificato ed è attivo dal momento della modifica per tutti i programmi del PC. Per la modifica è più semplice se guardi questa immagine:

 

Screenshot 2015-07-10 12.56.20.png

 

Una volta impostato il tabulatore come separatore (nota che devi scrivere "\t" come ti ho riportato) quello e il precedente separatore rimangono memorizzati nella combobox, per cui è abbastanza semplice alternare i due metodi, anche se devi comunque trafficare col pannello di controllo.



Proud to use LW/CVI from 3.1 on.

My contributions to the Developer Community
________________________________________
If I have helped you, why not giving me a kudos?
0 Kudos
Messaggio 2 di 5
4.565Visualizzazioni

Perfetto!!
Grazie mille, ora funziona. Ho scelto l'opzione di modificare il file excel.
Quando passerò il sw funzionante ai collaudatori delle macchine farò presente questa cosa. Altrimenti farò salvare i file in un txt e dirò agli operatori di copiare ed incollare il contenuto del file all'interno di un file excel. Vedremo.

Ne parlerò col mio capo.

Grazie mille

Saluti

Giovanni

0 Kudos
Messaggio 3 di 5
4.562Visualizzazioni

Se è un txt dovresti poter fare click destro >> Apri con... >> Excel

Al massimo la prima volte devi andarti a cercare il programma ma poi rimane memorizzato fra le scelte predefinite.



Proud to use LW/CVI from 3.1 on.

My contributions to the Developer Community
________________________________________
If I have helped you, why not giving me a kudos?
0 Kudos
Messaggio 4 di 5
4.553Visualizzazioni

In Excel 2013 e successivi devi creare un file di testo con estensione CSV, in cui la prima riga scrivi :

sep=\t

 

seguita da 2 ritorni a capo.

 

Cosi' facendo hai il "doppio click" che apre correttamente il file.

Cella A1 avra' la scritta "sep=\t"

 

dalla cella C1 avrai il primo valore, C2, il secondo, ecc...

dalla cella D1 la seconda riga...

 

Purtroppo la vera soluzione e' usare l'office toolkit, e produrre un "vero" file excel. Non e' difficile.

Si chiama OpenXML

https://msdn.microsoft.com/en-us/library/office/bb448854.aspx

 

lo studi, fai qualche prova, ti crei dei subvi "wrapper", in sostanza ti fai le tue API, e lo usi.

 

fine della storia.

 

PS: i CSV sono obsoleti, non servono a una ceppa

 

 

0 Kudos
Messaggio 5 di 5
4.004Visualizzazioni