Mercurial > hg > numerics
comparison numerics/convert.py @ 109:fae24f57dcb1
streamlining
| author | Jeff Hammel <k0scist@gmail.com> |
|---|---|
| date | Sun, 15 Mar 2015 10:49:29 -0700 |
| parents | 19a5c2fb52bb |
| children | c4d26ef63d8e |
comparison
equal
deleted
inserted
replaced
| 108:bad50c6bb243 | 109:fae24f57dcb1 |
|---|---|
| 59 | 59 |
| 60 def cast_columns(columns, types=default_cast): | 60 def cast_columns(columns, types=default_cast): |
| 61 """ | 61 """ |
| 62 cast a column of data | 62 cast a column of data |
| 63 """ | 63 """ |
| 64 column_types = [column_type(column) for column in columns] | 64 column_types = [column_type(column, types=types) |
| 65 for column in columns] | |
| 65 return [[column_type(row) for row in column] | 66 return [[column_type(row) for row in column] |
| 66 for column_type, column in zip(column_types, columns)] | 67 for column_type, column in zip(column_types, columns)] |
| 67 | 68 |
| 68 | 69 |
| 69 def main(args=sys.argv[1:]): | 70 def main(args=sys.argv[1:]): |
| 71 | 72 |
| 72 # parse command line | 73 # parse command line |
| 73 parser = CSVParser(description="interpolate types from file") | 74 parser = CSVParser(description="interpolate types from file") |
| 74 options = parser.parse_args(args) | 75 options = parser.parse_args(args) |
| 75 | 76 |
| 76 # read CSV file | 77 # read CSV file columns |
| 77 data = parser.read() | 78 columns = parser.columns() |
| 78 | |
| 79 # transpose | |
| 80 columns = transpose(data) | |
| 81 | 79 |
| 82 # get types | 80 # get types |
| 83 types = [column_type(column) for column in columns] | 81 types = [column_type(column) for column in columns] |
| 84 | 82 |
| 85 # print type information | 83 # print type information |
