mirror of
				https://github.com/KevinMidboe/tableprint.git
				synced 2025-10-29 18:00:16 +00:00 
			
		
		
		
	Python2 support by importing future print statement
This commit is contained in:
		| @@ -3,7 +3,7 @@ Module to nicely format ASCII table rows for display | |||||||
|  |  | ||||||
| """ | """ | ||||||
|  |  | ||||||
| # imports | from __future__ import print_function | ||||||
| import numpy as np | import numpy as np | ||||||
|  |  | ||||||
| # exports | # exports | ||||||
| @@ -31,7 +31,7 @@ def frame(dataframe, options=None): | |||||||
|  |  | ||||||
|     """ |     """ | ||||||
|  |  | ||||||
|     table(np.array(dataframe), list(df.columns), options) |     table(np.array(dataframe), list(dataframe.columns), options) | ||||||
|  |  | ||||||
|  |  | ||||||
| def table(data, headers, options=None): | def table(data, headers, options=None): | ||||||
| @@ -149,20 +149,29 @@ def row(values, column_width=10, precision='2f', outer_char='|'): | |||||||
|  |  | ||||||
|     """ |     """ | ||||||
|  |  | ||||||
|  |     assert (type(precision) is str) | (type(precision) is list), \ | ||||||
|  |         "Precision must be a string or list of strings" | ||||||
|  |  | ||||||
|  |     if type(precision) is str: | ||||||
|  |         precision = [precision] * len(list(values)) | ||||||
|  |  | ||||||
|     # mapping function for string formatting |     # mapping function for string formatting | ||||||
|     def mapdata(d): |     def mapdata(val): | ||||||
|  |  | ||||||
|  |         # unpack | ||||||
|  |         d, prec = val | ||||||
|  |  | ||||||
|         if isinstance(d, str): |         if isinstance(d, str): | ||||||
|             return ('{:>%i}' % column_width).format(d) |             return ('{:>%i}' % column_width).format(d) | ||||||
|  |  | ||||||
|         elif isinstance(d, (int, float)): |         elif isinstance(d, (int, float)): | ||||||
|             return ('{:>%i.%s}' % (column_width, precision)).format(d) |             return ('{:>%i.%s}' % (column_width, prec)).format(d) | ||||||
|  |  | ||||||
|         else: |         else: | ||||||
|             raise ValueError('Elements in the values array must be strings, ints, or floats') |             raise ValueError('Elements in the values array must be strings, ints, or floats') | ||||||
|  |  | ||||||
|     # string formatter |     # string formatter | ||||||
|     fmt = map(mapdata, values) |     fmt = map(mapdata, zip(values, precision)) | ||||||
|  |  | ||||||
|     # build the base string |     # build the base string | ||||||
|     basestr = (' %s ' % outer_char).join(fmt) |     basestr = (' %s ' % outer_char).join(fmt) | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user