cancel
Showing results forย 
Search instead forย 
Did you mean:ย 

How do we check if NO DATA in a CSV file after filtering out headers

MikeP
New Contributor II

Hello, I need to check if there is no actual data after reading and parsing a CSV file, I am using the CSV Parser and have checked the โ€˜Contains Headerโ€™ (as we will always have a row with headers), I then follow it with a Mapper. If we have no data at this point we need to stop processing and go down a different route. Iโ€™m struggling with how after the Mapper, I check if no data is present in my document ($). We have a router snap next and have tried the following options, but none seem to work in the expression window:-

$ == null
$.isEmpty()

Any help appreciated.
Thanks
Mike

6 REPLIES 6

@MikeP,

Glad that it is working now. But the reason why !$.isEmpty() doesnโ€™t work itโ€™s because:

  • When the input is empty - {}, the expression !$.isEmpty() will return false because you are checking first if the input is empty ( which is true ) but you are making it false ( with the ! sign ) and in the end the Router wonโ€™t output anything. Itโ€™s essentially like saying "Check if input is empty, and if it is, stop the flow of the data ( which in this case it should continue to another output instead of stopping )."
  • You can also solve this with the following Router settings
    image
    The first expression will return true if the input data is not empty ( it will output the input data to the first output view ), and the second expression will simply return true and will output the data on the second output view. With the First match option checked, only the first expression that returns true will be evaluated to the output even if there are more expressions that return true.

MikeP
New Contributor II

Smashing thanks for the additional information, good knowledge to know.