Method: csv.DictReader.__next__
Calls: 29, Exceptions: 4, Paths: 8Back
Path 1: 11 calls (0.38)
{'f1': '1', 'f2': '2', 'f3': 'abc'} (4) {'1': '1', '2': '2', '3': 'abc', '4': '4', '5': '5', '6': '6'} (3) {'FirstName': 'Eric', 'LastName': 'Idle'} (...
1def __next__(self):
2 if self.line_num == 0:
3 # Used only for its side effect.
4 self.fieldnames
5 row = next(self.reader)
6 self.line_num = self.reader.line_num
7
8 # unlike the basic reader, we prefer not to return blanks,
9 # because we will typically wind up with a dict full of None
10 # values
11 while row == []:
12 row = next(self.reader)
13 d = dict(zip(self.fieldnames, row))
14 lf = len(self.fieldnames)
15 lr = len(row)
16 if lf < lr:
17 d[self.restkey] = row[lf:]
18 elif lf > lr:
19 for key in self.fieldnames[lr:]:
20 d[key] = self.restval
21 return d
Path 2: 4 calls (0.14)
dict (4)
1def __next__(self):
2 if self.line_num == 0:
3 # Used only for its side effect.
4 self.fieldnames
5 row = next(self.reader)
6 self.line_num = self.reader.line_num
7
8 # unlike the basic reader, we prefer not to return blanks,
9 # because we will typically wind up with a dict full of None
10 # values
11 while row == []:
12 row = next(self.reader)
13 d = dict(zip(self.fieldnames, row))
14 lf = len(self.fieldnames)
15 lr = len(row)
16 if lf < lr:
17 d[self.restkey] = row[lf:]
18 elif lf > lr:
19 for key in self.fieldnames[lr:]:
20 d[key] = self.restval
21 return d
Path 3: 4 calls (0.14)
StopIteration (4)
1def __next__(self):
2 if self.line_num == 0:
3 # Used only for its side effect.
4 self.fieldnames
5 row = next(self.reader)
6 self.line_num = self.reader.line_num
7
8 # unlike the basic reader, we prefer not to return blanks,
9 # because we will typically wind up with a dict full of None
10 # values
11 while row == []:
12 row = next(self.reader)
13 d = dict(zip(self.fieldnames, row))
14 lf = len(self.fieldnames)
15 lr = len(row)
16 if lf < lr:
17 d[self.restkey] = row[lf:]
18 elif lf > lr:
19 for key in self.fieldnames[lr:]:
20 d[key] = self.restval
21 return d
Path 4: 3 calls (0.1)
{'FirstName': 'Under1', 'LastName': None} (2) {'fname': 'Under1', 'lname': None} (1)
1def __next__(self):
2 if self.line_num == 0:
3 # Used only for its side effect.
4 self.fieldnames
5 row = next(self.reader)
6 self.line_num = self.reader.line_num
7
8 # unlike the basic reader, we prefer not to return blanks,
9 # because we will typically wind up with a dict full of None
10 # values
11 while row == []:
12 row = next(self.reader)
13 d = dict(zip(self.fieldnames, row))
14 lf = len(self.fieldnames)
15 lr = len(row)
16 if lf < lr:
17 d[self.restkey] = row[lf:]
18 elif lf > lr:
19 for key in self.fieldnames[lr:]:
20 d[key] = self.restval
21 return d
Path 5: 3 calls (0.1)
{'FirstName': 'John', 'LastName': 'Cleese'} (2) {'fname': 'John', 'lname': 'Cleese'} (1)
1def __next__(self):
2 if self.line_num == 0:
3 # Used only for its side effect.
4 self.fieldnames
5 row = next(self.reader)
6 self.line_num = self.reader.line_num
7
8 # unlike the basic reader, we prefer not to return blanks,
9 # because we will typically wind up with a dict full of None
10 # values
11 while row == []:
12 row = next(self.reader)
13 d = dict(zip(self.fieldnames, row))
14 lf = len(self.fieldnames)
15 lr = len(row)
16 if lf < lr:
17 d[self.restkey] = row[lf:]
18 elif lf > lr:
19 for key in self.fieldnames[lr:]:
20 d[key] = self.restval
21 return d
Path 6: 2 calls (0.07)
dict (2)
1def __next__(self):
2 if self.line_num == 0:
3 # Used only for its side effect.
4 self.fieldnames
5 row = next(self.reader)
6 self.line_num = self.reader.line_num
7
8 # unlike the basic reader, we prefer not to return blanks,
9 # because we will typically wind up with a dict full of None
10 # values
11 while row == []:
12 row = next(self.reader)
13 d = dict(zip(self.fieldnames, row))
14 lf = len(self.fieldnames)
15 lr = len(row)
16 if lf < lr:
17 d[self.restkey] = row[lf:]
18 elif lf > lr:
19 for key in self.fieldnames[lr:]:
20 d[key] = self.restval
21 return d
Path 7: 1 calls (0.03)
{'1': '1', '2': '2', '3': 'abc', '4': 'DEFAULT', '5': 'DEFAULT', '6': 'DEFAULT'} (1)
1def __next__(self):
2 if self.line_num == 0:
3 # Used only for its side effect.
4 self.fieldnames
5 row = next(self.reader)
6 self.line_num = self.reader.line_num
7
8 # unlike the basic reader, we prefer not to return blanks,
9 # because we will typically wind up with a dict full of None
10 # values
11 while row == []:
12 row = next(self.reader)
13 d = dict(zip(self.fieldnames, row))
14 lf = len(self.fieldnames)
15 lr = len(row)
16 if lf < lr:
17 d[self.restkey] = row[lf:]
18 elif lf > lr:
19 for key in self.fieldnames[lr:]:
20 d[key] = self.restval
21 return d
Path 8: 1 calls (0.03)
{'1': '1', '2': '2', '3': 'abc', '4': '4', '5': '5', '6': '6'} (1)
1def __next__(self):
2 if self.line_num == 0:
3 # Used only for its side effect.
4 self.fieldnames
5 row = next(self.reader)
6 self.line_num = self.reader.line_num
7
8 # unlike the basic reader, we prefer not to return blanks,
9 # because we will typically wind up with a dict full of None
10 # values
11 while row == []:
12 row = next(self.reader)
13 d = dict(zip(self.fieldnames, row))
14 lf = len(self.fieldnames)
15 lr = len(row)
16 if lf < lr:
17 d[self.restkey] = row[lf:]
18 elif lf > lr:
19 for key in self.fieldnames[lr:]:
20 d[key] = self.restval
21 return d