4
4
5
5
from __future__ import print_function
6
6
from __future__ import unicode_literals
7
- from collections import namedtuple , OrderedDict
7
+ from collections import namedtuple
8
8
from platform import python_version_tuple
9
9
import re
10
10
@@ -521,8 +521,8 @@ def _normalize_tabular_data(tabular_data, headers):
521
521
and hasattr (rows [0 ], "_fields" )): # namedtuple
522
522
headers = list (map (_text_type , rows [0 ]._fields ))
523
523
elif (len (rows ) > 0
524
- and isinstance (rows [0 ], OrderedDict )):
525
- # OrderedDict
524
+ and isinstance (rows [0 ], dict )):
525
+ # works for dict and OrderedDict
526
526
mmap = {} # implements hashed lookup
527
527
keys = [] # storage for set
528
528
for row in rows :
@@ -535,16 +535,6 @@ def _normalize_tabular_data(tabular_data, headers):
535
535
rows = [[row .get (k ) for k in keys ] for row in rows ]
536
536
if headers == 'keys' :
537
537
headers = keys
538
- elif (len (rows ) > 0
539
- and isinstance (rows [0 ], dict )):
540
- # dict
541
- keys = set ()
542
- for row in rows :
543
- keys .update (row .keys ())
544
- keys = list (map (_text_type , keys ))
545
- rows = [[row .get (k ) for k in keys ] for row in rows ]
546
- if headers == 'keys' :
547
- headers = keys
548
538
elif headers == "keys" and len (rows ) > 0 : # keys are column indices
549
539
headers = list (map (_text_type , range (len (rows [0 ]))))
550
540
0 commit comments