def next(self):
for self._filename in self._filenames:<EOL><INDENT>self._open()<EOL>for row in self._csv_reader:<EOL><INDENT>self._row_number += <NUM_LIT:1><EOL>if self._fields:<EOL><INDENT>yield dict(zip_longest(self._fields, row, fillvalue='<STR_LIT>'))<EOL><DEDENT>else:<EOL><INDENT>yield row<EOL><DEDENT><DEDENT>self._close()<EOL>self._row_number = -<NUM_LIT:1><EOL><DEDENT>self._filename = None<EOL>raise StopIteration<EOL>
Yields the next row from the source files.