dataimport/csv.py
changeset 10669 155c29e0ed1c
parent 10612 84468b90e9c1
child 10807 bb0c7dbd1fe7
equal deleted inserted replaced
10668:4fb62d791073 10669:155c29e0ed1c
    85         quotechar = quote
    85         quotechar = quote
    86         warnings.warn("[3.20] 'quote' kwarg is deprecated, use 'quotechar' instead")
    86         warnings.warn("[3.20] 'quote' kwarg is deprecated, use 'quotechar' instead")
    87     it = iter(csvmod.reader(stream, delimiter=delimiter, quotechar=quotechar))
    87     it = iter(csvmod.reader(stream, delimiter=delimiter, quotechar=quotechar))
    88     if not ignore_errors:
    88     if not ignore_errors:
    89         if skipfirst:
    89         if skipfirst:
    90             it.next()
    90             next(it)
    91         for row in it:
    91         for row in it:
    92             decoded = [item.decode(encoding) for item in row]
    92             decoded = [item.decode(encoding) for item in row]
    93             if not skip_empty or any(decoded):
    93             if not skip_empty or any(decoded):
    94                 yield decoded
    94                 yield decoded
    95     else:
    95     else:
    96         if skipfirst:
    96         if skipfirst:
    97             try:
    97             try:
    98                 row = it.next()
    98                 row = next(it)
    99             except csvmod.Error:
    99             except csvmod.Error:
   100                 pass
   100                 pass
   101         # Safe version, that can cope with error in CSV file
   101         # Safe version, that can cope with error in CSV file
   102         while True:
   102         while True:
   103             try:
   103             try:
   104                 row = it.next()
   104                 row = next(it)
   105             # End of CSV, break
   105             # End of CSV, break
   106             except StopIteration:
   106             except StopIteration:
   107                 break
   107                 break
   108             # Error in CSV, ignore line and continue
   108             # Error in CSV, ignore line and continue
   109             except csvmod.Error:
   109             except csvmod.Error: