[fpc-pascal] Issue with CSVDocument

Michael Van Canneyt michael at freepascal.org
Mon Feb 7 14:33:06 CET 2022


Hello,

Sounds like you have a BOM marker in the file.

Set
   CSVDocument.DetectBOM := True;

Michael.

On Mon, 7 Feb 2022, James Richters via fpc-pascal wrote:

> I have CSVDocument working, but something odd is happening.
>
> Everything is coming out as I expect, Except for the first cell.. it has some garbage at the beginning of it that I don't understand.
> I'm on a Windows 10 64bit PC running the Win32 FPC Trunk installed today with fpcdeluxe.
>
> Here's my code:
>
> Uses Math,sysutils,Classes,CSVDocument;
>
> Var
>   LoopRow,LoopCol:DWord;
>   CSVData   :  TCSVDocument;
>
> Begin
>   If ParamCount>=1 Then
>      Begin
>         Writeln('Input From File: ',Paramstr(1));
>         If FileExists(ParamStr(1)) Then
>            Begin
>               CSVData:=TCSVDocument.Create;
>               CSVData.LoadFromFile(ParamStr(1));
>               Writeln('Read In: ',CSVData.RowCount,' Rows and ',CSVData.MaxColCount,' Columns');
>               Writeln('Press Enter to Process');
>               Readln;
>               If CSVData.RowCount >0 Then
>                  Begin
>                     For LoopRow := 0 to CSVData.RowCount-1 Do
>                        Begin
>                           Write('| ');
>                           For LoopCol := 0 to CSVData.ColCount[LoopRow]-1 Do
>                              Begin
>                                 Write(CSVData.Cells[LoopCol,LoopRow]+' | ');
>                              End;
>                           Writeln;
>                        End;
>                  End;
>               CSVData.Free;
>            End
>         Else
>            Begin
>               Writeln('File Not Found');
>            End;
>      End;
> End.
>
> Here's the output:
> Input From File: x:\all_2x4s.csv
> Read In: 88 Rows and 3 Columns
> Press Enter to Process
> | Divisions 2x4 CBC B-C1 | 30.56 | 50 |
> | Divisions 2x4 CBC B-C2 | 30.56 | 50 |
> | Divisions 2x4 CBC C1-C2 | 28.2 | 50 |
> | Divisions 2x4 CDF C2-D1 | 34.89 | 40 |
> | Divisions 2x4 CDF C2-F | 30.42 | 40 |
> | Divisions 2x4 CDF D1-F | 33.47 | 40 |
>
> Here's the top of my CSV File as created by Excel:
> Divisions 2x4 CBC B-C1,30.56,50
> Divisions 2x4 CBC B-C2,30.56,50
> Divisions 2x4 CBC C1-C2,28.2,50
> Divisions 2x4 CDF C2-D1,34.89,40
> Divisions 2x4 CDF C2-F,30.42,40
> Divisions 2x4 CDF D1-F,33.47,40
>
> I don't understand where the  came from or how to get rid of it.
> I've tried several CSV files, and even tried just typing a sample out with a text editor.. all have  in the first cell
>
> Anyone have any ideas?
>
> James
>
> _______________________________________________
> fpc-pascal maillist  -  fpc-pascal at lists.freepascal.org
> https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal


More information about the fpc-pascal mailing list