'Similar to csv.writer.writerows but with the custom quoting behavior.
Returns the written string instead of the length of that string.'

def writerows(self, values_list):

    has_empty = False
    if self.quote_empty:
        for values in values_list:
            for (i, value) in enumerate(values):
                if (value == ''):
                    has_empty = True
                    values[i] = self.replace_sentinel
    return self._writerow(self.writer.writerows, values_list, has_empty)
