Comma Delimited Files

From CometWiki

Jump to: navigation, search
Syntax: File(LUN)CSV  ! Treat this text file as Comma delimited
Discussion:

Comet Text files may be treated as Comma Delimited Files (CSV or Comma Separated Values). For a discussion of how Comma Delimited Files are formatted, <a href="http://en.wikipedia.org/wiki/Comma-separated_values"> Look Here.</a>

CSV files are a convienient way to treat data for import or export to other windows applications. To tell Comet to start treating a file as CSV, just execute the fillowing file statement:

File(LUN)CSV

Example 1:
Writing a CSV record.
Length 200  & Local A$ B$ C$  
Length 15.0 & Local I 
Length 15.3  & Local J K 
Length 10.10  & Local L

Fmt:  Format A$;B$;C$;I;J;K;L

   Clear
   Print(Et)

     Erase 'xxx.Csv', Dir='cos' Excp=Eok
Eok: Create 'xxx.Csv', Dir='cos'
     Close(1) & Open(1) 'xxx.Csv', Dir='cos'

   File(1)Csv

   A$ = 'simple String'
   B$ = ' String With Embeded Double "Quotation""Marks'        ! Leading Blank
   C$ = ' String Including A, Comma '                          ! Trailing Blank
   I = -10
   J = 10.34
   K = -99.345
   L = -.00012345

   Write(1,Fmt)
   Stop
   
 In the above example, three string variables and four numeric
 variables are written to a record in a text file. The result looks like this:
 
simple string," String with embeded double ""Quotation""""marks"," String including a, comma",-10,10.340,-99.345,-0.0001234500

Notice that double quotes surround fields containing double quotation marks or commas. Double quotes within a field are escaped by placing another double quote before them. Leading minus signs are used for negative numbers.

Example 2:
Reading a CSV record
Length 200  & Local A$ B$ C$  
Length 15.0 & Local I 
Length 15.3  & Local J K 
Length 10.10  & Local L

Fmt:  Format A$;B$;C$;I;J;K;L

   Clear
   Print(Et)

   Close(1) & Open(1) 'xxx.Csv', Dir='cos'

   File(1)Csv
   
   Read(1,Fmt)
   
   Print 'a$=';A$
   Print 'b$=';B$
   Print 'c$=';C$
   Print 'i=';I
   Print 'j=';J
   Print 'k=';K
   Print 'l=';L
   Print 'done'   
   Wait
   Stop
   
   
The Output of this program looks like this:
a$=simple string
b$= String with embeded double "Quotation""marks
c$= String including a, comma
i=              10-
j=          10.340
k=          99.345-
l=.0001234500-
done

The contents of string variables are not padded with blanks. They contain exactly what was in the CSV field. A note about very large or very precise numbers:
Some windows applications such as Excel, cannot tolorate very long numbers or numbers with precision as long as allowed by Comet. In this case, they will revert to floating point notation. As a result, these applications may cause loss of precision or Comet may not be able to read those numbers.

CSV processing was introduced in Comet 2008.

Personal tools