Mercurial > repos > iuc > query_tabular
diff load_db.py @ 10:2e8f945f7285 draft
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/query_tabular commit 67db58361546009a77b2cbd140967fbc634d425b"
author | iuc |
---|---|
date | Thu, 24 Sep 2020 11:26:46 +0000 |
parents | a3aab6045663 |
children | cf4397560712 |
line wrap: on
line diff
--- a/load_db.py Sat Sep 12 01:22:05 2020 +0000 +++ b/load_db.py Thu Sep 24 11:26:46 2020 +0000 @@ -189,6 +189,9 @@ if linenum == 0 and firstlinenames: col_names = [get_valid_column_name(name) or 'c%d' % (i + 1) for i, name in enumerate(fields)] + # guarantee col_types in case of empty data + while len(col_types) < len(fields): + col_types.append(None) continue if linenum > max_lines: break @@ -210,23 +213,30 @@ if not col_names: col_names = ['c%d' % i for i in range(1, len(col_types) + 1)] if column_names: + cnames = [cn.strip() for cn in column_names.split(',')] if load_named_columns: col_idx = [] - cnames = [] - for i, cname in enumerate( - [cn.strip() for cn in column_names.split(',')]): + colnames = [] + for i, cname in enumerate(cnames): + # guarantee col_types in case of empty data + if i >= len(col_types): + col_types.append('TEXT') if cname != '': col_idx.append(i) - cnames.append(cname) + colnames.append(cname) col_types = [col_types[i] for i in col_idx] - col_names = cnames + col_names = colnames else: - for i, cname in enumerate( - [cn.strip() for cn in column_names.split(',')]): - if cname and i < len(col_names): - col_names[i] = cname + if col_names: + for i, cname in enumerate(cnames): + if cname and i < len(col_names): + col_names[i] = cname + else: + col_names = [x if x else 'c%d' % (i) for i, x in enumerate(cnames)] col_def = [] for i, col_name in enumerate(col_names): + if i >= len(col_types): + col_types.append('TEXT') col_def.append('%s %s' % (col_names[i], col_types[i])) return col_names, col_types, col_def, col_idx