XLS/CSV

  • 10 Feb

    Move and change content of a txt-file

    Q: Hello Limagito, Now I need your help again…

    I got a TXT-file delivered from my customer with approximately 250 rows.

    In the txt file I like “search and replace” a text string :

    ;19;18;;

    Should be replaced with

    ;36;35;;

    And the string

    ;21;21;;

    Should be replaced with

    ;37;37;;

    I also tried to set the powershell exe file in the field for Application name (C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe)

    Is there any other way?

    A: Yes there is, we can do this easily with our Pascal Script so no need for external scripts if you want.

    In our example we’ll use a Windows folder as Source:

    Limagito File Mover WIN as Source

    We only want to handle .txt file so we added the following Filename Include Filter:

    Limagito File Mover Include Filename Filter

    As Destination we added a Pascal Script. This script will does the work you requested.

    Limagito File Mover Pascal Script as Destination

    • Adjust ctOutputPath > must end with a \
    • Encoding of destination text file can be adjusted

     

    Var
      tmpFileIn, tmpFileOut: String;
      tmpList: TStringList;
    Const
      ctOutputPath = 'C:\Test\Out_Txt\';
    Begin
      // Init var
      psExitCode:= 0;
      tmpFileIn := psFilePath + psFileName;
      tmpFileOut := ctOutputPath + psFileName; 
      // ... add your code here
      tmpList := TStringList.Create;
      Try
        Try
          tmpList.LoadFromFile(tmpFileIn);
          tmpList.Text := psStringReplace(tmpList.Text, ';19;18;;', ';36;35;;');
          tmpList.Text := psStringReplace(tmpList.Text, ';21;21;;', ';37;37;;');
          // https://docs.microsoft.com/nl-be/windows/win32/intl/code-page-identifiers
          If psSaveTxt2File(tmpList.Text, ctOutputPath + psFileName, 'ISO-8859-1', False) Then
          Begin
            psExitCode := 1;
            psLogWrite(1, '', 'SaveToFile ' + tmpFileOut + ' Successful');    
          End
          Else
            psLogWrite(1, '', 'SaveToFile ' + tmpFileOut + ' Error');
        Except
          psLogWrite(1, '', 'LoadFromFile ' + tmpFileIn + ' Exception');
        End;
      Finally
        tmpList.Free;
      End;  
    End.

    Limagito File Mover Pascal Script as Destination

    Feedback Customer:

    As always you save the day! The Pascal script did my work easily. Some day I have to learn more about pascal!

    I cheat some in powershell and some visual basic, but this stuff is powerful!

    By the way, it only worked in the newer version of Limagito (I still have some workflows in the old version)

    Thank you for help, quick and accurate, as always!

    #FileTransfer #Encoding

    If you need any info about this ‘change content of a txt-file’ request, please let us know.

    Best regards,

    Limagito Team

  • 31 Mar

    Csv to Xls conversion problems

    Q: Csv to Xls conversion problems. I have a small problem with the conversion of .csv to .xls files. My original file is separated by ; saved as .txt.

    • I also tried with a comma separated .csv and I get the same result.
    • I also tried to import full csv as text
    • I also tried adding a header
    • I still get the same result

    I have attached some screenshots, I have also attached the txt file to convert. My file contains data in French with accents, can this have an impact?

    A: It looks like a problem with the encoding of the txt file. We converted it to UTF8 first using a Pascal Script and afterwards the conversion worked just fine.

    1. Open the Pascal Script option:

    Limagito File Mover Pascal Script option

    2. Enable and add the following ‘On Destination’ Pascal Script. This will first change the Encoding of the Source txt file to UTF8. The conversion to XLS was ok afterwards.

    Var
      tmpFile: String;
    Begin
      psExitCode:= 0;
      // ... add your code here
      tmpFile := psFilePath + psFileName;
      If psChangeTxtEncoding(tmpFile, tmpFile, 0) Then
        psExitCode := 1;
    End.

    Limagito File Mover conversion problems

    More information about the “psChangeTxtEncoding function”:

    Use psChangeTxtEncoding to convert the encoding

    > Encoding possibilities:
    0: UTF8
    1: UTF7
    2: Unicode
    3: Default
    4: BigEndianUnicode
    5: ASCII
    6: ANSI
    7: ASCII TRIM
    8: ANSI TRIM

    i.e. psChangeTxtEncoding(psFilePath + psFileName, psFilePath + psFileName, 0);

    This script will change the encoding of the original source file before it is converted to .xls using XLS as Destination.

    Some extra screenshots of the XLS as Destination setup:

    Limagito File Mover conversion problems

    Limagito File Mover conversion problems

    #Filetransfer #csv #xls

    If you need any info about this ‘conversion problems’ issue, please let us know.

    Best regards,

    Limagito Team

  • 04 Apr

    Q&A 42: Remove quotation marks around the data in a csv file

    Q: Remove quotation marks around the data in a csv file. An Excel file is saved that has quotation marks around the data in the file. Which can be removed by opening Excel and re-saving as the CSV, but this is a manual step at this time. Would we be able to setup a Limagito rule to be able to do something similar for us?
    A: Yes this is possible using our XLS as Destination option. XLS as Destination also handles CSV files. Just be sure that the source files have .csv as extention so we know we need to handle them differently.

    Some screenshots to get you started:

    1.  Since we only want csv files, be sure the set the ‘Filename Include’ filter to *.csv in the ‘File Filter Setup’.

    Limagito File Mover filename inlcude filter

    2. We added XLS as Destination, XLS as Destination also handles CSV files. Just be sure that the source files have .csv as extention.

    Limagito File Mover XLS/CSV as Destination

    3. XLS.CSV as Destination setup. The Output File Format will be ‘Text, Delimiter separated values – with CRLF as End Of Line’.

    Limagito File Mover CSV Remove Quotation Marks

    Also ‘Text, Delimiter separated values – with LF as End Of Line’ which was added in version v2021.4.4.0

    This way you also can convert:

    • CSV with CRLF as Source to CSV with LF as end Of Line Destination
    • CSV with LF as Source to CSV with CRLF as end Of Line Destination

    Limagito File Mover CSV Remove Quotation Marks

    To remove the quotation marks you need to enable ‘Import full csv file as text’ option (Common Tab).

    Limagito File Mover import full csv file as text

    #FileTransfer

    If you need any help with this ‘Remove quotation marks’ request, please let us know.

    Happy Easter,

    Limagito Team

    By Limagito-Team Q&A XLS/CSV , , , ,
1 2 3
SEARCH