-
Notifications
You must be signed in to change notification settings - Fork 173
Open
Labels
bugSomething isn't workingSomething isn't workinggood first issueGood for newcomersGood for newcomers
Milestone
Description
version: 0.8.9, Python 3.6.9, reproduction code:
In [1]: from tabulate import tabulate
...: data = dict(a=0.1, b=True, c="c")
...: table = [(str(k), str(v)) for k, v in data.items()]
In [2]: print(tabulate(table))
- ----
a 0.1
b True
c c
- ----
In [3]: print(tabulate(table[:2]))
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-3-16d27c33d4d2> in <module>
----> 1 print(tabulate(table[:2]))
/usr/local/lib/python3.6/dist-packages/tabulate.py in tabulate(tabular_data, headers, tablefmt, floatfmt, numalign, stralign, missingval, showindex, disable_numparse, colalign)
1299 missing_vals.extend( (len(cols)-len(missing_vals)) * [_DEFAULT_MISSINGVAL] )
1300 cols = [[_format(v, ct, fl_fmt, miss_v, has_invisible) for v in c]
-> 1301 for c, ct, fl_fmt, miss_v in zip(cols, coltypes, float_formats, missing_vals)]
1302
1303 # align columns
/usr/local/lib/python3.6/dist-packages/tabulate.py in <listcomp>(.0)
1299 missing_vals.extend( (len(cols)-len(missing_vals)) * [_DEFAULT_MISSINGVAL] )
1300 cols = [[_format(v, ct, fl_fmt, miss_v, has_invisible) for v in c]
-> 1301 for c, ct, fl_fmt, miss_v in zip(cols, coltypes, float_formats, missing_vals)]
1302
1303 # align columns
/usr/local/lib/python3.6/dist-packages/tabulate.py in <listcomp>(.0)
1298 if len(missing_vals) < len(cols):
1299 missing_vals.extend( (len(cols)-len(missing_vals)) * [_DEFAULT_MISSINGVAL] )
-> 1300 cols = [[_format(v, ct, fl_fmt, miss_v, has_invisible) for v in c]
1301 for c, ct, fl_fmt, miss_v in zip(cols, coltypes, float_formats, missing_vals)]
1302
/usr/local/lib/python3.6/dist-packages/tabulate.py in _format(val, valtype, floatfmt, missingval, has_invisible)
766 return val.replace(raw_val, formatted_val)
767 else:
--> 768 return format(float(val), floatfmt)
769 else:
770 return "{0}".format(val)
ValueError: could not convert string to float: 'True'
If I replace str(v)
by v
:
In [1]: from tabulate import tabulate
...: data = dict(a=0.1, b=True, c="c")
...: table = [(str(k), v) for k, v in data.items()]
In [2]: print(tabulate(table))
- ----
a 0.1
b True
c c
- ----
In [3]: print(tabulate(table[:2]))
- ---
a 0.1
b 1
- ---
jimmyzzxhlh
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't workinggood first issueGood for newcomersGood for newcomers