Example #1
0
    def next(self):
        row = []
        line = self._f.next().strip()
        last_str = ''
        last_char = ''

        is_quoting = False
        for char in line:
            if char == self.dialect.escapechar:
                if last_char == self.dialect.escapechar:
                    last_str += self.dialect.escapechar
            elif last_char == self.dialect.escapechar:
                if char == 'n':
                    last_str += "\n"
                elif char == 'r':
                    pass
                else:
                    last_str += char
            elif not is_quoting:
                if char == self.dialect.delimiter:
                    row.append(last_str)
                    last_str = ''
                elif char == self.dialect.quotechar and last_char == self.dialect.delimiter:
                    is_quoting = True
                else:
                    last_str += char
            else:
                if char == self.dialect.quotechar:
                    is_quoting = False
                    row.append(last_str)
                    last_str = ''
                else:
                    last_str += char
            last_char = char
        row.append(last_str)
        return [create_unicode(text) for text in row]
Example #2
0
    def next(self):
        row = []
        line = self._f.next().strip()
        last_str = ''
        last_char = ''

        is_quoting = False
        for char in line:
            if char == self.dialect.escapechar:
                if last_char == self.dialect.escapechar:
                    last_str += self.dialect.escapechar
            elif last_char == self.dialect.escapechar:
                if char == 'n':
                    last_str += "\n"
                elif char == 'r':
                    pass
                else:
                    last_str += char
            elif not is_quoting:
                if char == self.dialect.delimiter:
                    row.append( last_str )
                    last_str = ''
                elif char == self.dialect.quotechar and last_char == self.dialect.delimiter:
                    is_quoting = True
                else:
                    last_str += char
            else:
                if char == self.dialect.quotechar:
                    is_quoting = False
                    row.append( last_str )
                    last_str = ''
                else:
                    last_str += char
            last_char = char
        row.append( last_str )
        return [create_unicode(text) for text in row]
Example #3
0
 def next(self):
     row = self.reader.next()
     return [create_unicode(text) for text in row]
Example #4
0
 def next(self):
     row = self.reader.next()
     return [create_unicode(text) for text in row]