@NagendraKumar
Often times there is more then 1 may to solution a use case.
Here is one possible solution:
NiFi Components used:
SplitRecord Used to split your multi-row CSV record in to individual records.
This processor will use a CSVReader:

and CSVRecordSetWriter:

The "Splits" relationship then gets routed to a ReplaceText processor (used to reformat the individual line record):

"Search Value" based on four items per line (header and body):
^(.*?),(.*?),(.*?),(.*?)[\r\n]+(.*?),(.*?),(.*?),(.*?)[\r\n]+
"Replacement Value":

The "Success" relationship is then routed to a MergeContent processor (used to recombine the original multi-records into a single FlowFile):

Note: Demarcator is configured with line return to provide a new line between records in content.
The assemble portion of this dataflow looks like this:

Above is a working solution based on your shared example. It works no matter how many CSV rows exist in the source file.
Other possibilities:
I feel like this use case could also be accomplished using maybe the ScriptedTransformRecord processor. I am just not sure myself on how to write the scripted needed here correctly. Perhaps others in the community have suggestions.
Please help our community thrive. If you found any of the suggestions/solutions provided helped you with solving your issue or answering your question, please take a moment to login and click "Accept as Solution" on one or more of them that helped.
Thank you,
Matt