KX Community

Find answers, ask questions, and connect with our KX Community around the world.
KX Community Guidelines

Home Forums kdb+ Parsing with fixed length Re: Parsing with fixed length

  • rocuinneagain

    Member
    December 8, 2022 at 12:00 am

    Try this to confirm the file is valid:

     

     

    //Bytes per record 
    q)sum 3 3 2 2 4 
    14 
    
    //Bytes in file 
    q)hcount `:file1.txt 
    ?? 
    
    //Confirm bytes in file has no remainder if divided by bytes in record 
    q)0~hcount[`:file1.txt] mod sum 3 3 2 2 4 
    ??

     

     

    If last line returns 0b then your file is not a valid size for those fixed length messages.

    You can see quickly at the end of the file if the last record looks valid.

    //Inspect the last records in the file to see visually if records look correct

    q)-2#(sum 3 3 2 2 4) cut `char$read1

    The issue could start anywhere in the file so you may need to do further investigation if it is still not obvious after checking the above.