One obvious reason for this to happen is that you set the “ignore first line” parameter to true.
The most likely case is that you used the csv in another request before your loop. This previous request is taken into account and the first line is considered already done when the loop starts.
If you call the csv three times in three separate requests before using it in a loop, the loop will starts at the fourth line of the csv (disregarding the column name line), even though only the first line was read in the first attempt.