python-table-converter 0.2.7__py3-none-any.whl → 0.2.8__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: python-table-converter
3
- Version: 0.2.7
3
+ Version: 0.2.8
4
4
  Summary: A table data converter
5
5
  Home-page: https://github.com/akivajp/python-table-converter
6
6
  License: MIT
@@ -1,15 +1,15 @@
1
- table_converter/__init__.py,sha256=SLb61XorOudvmaWt55Q08QoztDikRByjEl0f1FMYhJc,52
2
- table_converter/cli.py,sha256=1FgsLhNklZ5zqpID9biSv1usb_4EQyt6sIIFe8Aqa-0,1435
1
+ table_converter/__init__.py,sha256=xtSl1VA5f2JfJ1D68lJn8bt4geoi449yVJGm_rA3by4,52
2
+ table_converter/cli.py,sha256=Q5eshXdgfeoiyJkFlQOCX695_6xi1dcibin0kUKOMX0,1574
3
3
  table_converter/commands/convert_tables.py,sha256=CaetweEy8EEpHzJi7VSlvoheeAgiNTGqqY4ab1KxrVg,1795
4
4
  table_converter/core/config.py,sha256=7CwaMnip0Zhigh1GAifhJsCEICRQrP9MoQxaamKtQM0,4214
5
5
  table_converter/core/constants.py,sha256=7oJ53ue4dHiDoSxSlFQK7dnrG6fSbJIAqCStv1Vf9J8,80
6
- table_converter/core/convert.py,sha256=u2jlKGnIo31RmdeGLndhvcUKXwVHoBoi-2J-YgYJ4Hk,8852
6
+ table_converter/core/convert.py,sha256=TzxQOpRydian-LkRhUvvags7gtklLyaNxFS9hTFgh9M,9078
7
7
  table_converter/core/functions/assign_id.py,sha256=pdd5YxXjwd7cowD6YFeGSJsTx_A0DZsqUf2t0wBTl-k,3287
8
8
  table_converter/core/functions/get_field_value.py,sha256=zKTnj5GEC0YuOd5rtn6GuzxCXn2k-Apwv6P5jSKTh6Y,379
9
9
  table_converter/core/functions/search_column_value.py,sha256=QjKbhjbHbB0k1QCYzCpdiVe6fyRXIuMASUMAuM411-E,1052
10
10
  table_converter/core/functions/set_field_value.py,sha256=mw9C6meIwvK0weswIJFCqAPNyKVgJ4nDJYEj8oQXQF0,395
11
- python_table_converter-0.2.7.dist-info/LICENSE,sha256=1_Gn0I1neLPxDLfLiHEyxjDg-pbAra1p2iHEqutGS_c,1068
12
- python_table_converter-0.2.7.dist-info/METADATA,sha256=7FpwpTKzeIXCZj6gxmNe4OGykERSWg02RcWWvY1MFN0,1055
13
- python_table_converter-0.2.7.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
14
- python_table_converter-0.2.7.dist-info/entry_points.txt,sha256=VL9tNIWL31AGIvJnHetcJGH7G1i_WNcOknDpYq6JRac,117
15
- python_table_converter-0.2.7.dist-info/RECORD,,
11
+ python_table_converter-0.2.8.dist-info/LICENSE,sha256=1_Gn0I1neLPxDLfLiHEyxjDg-pbAra1p2iHEqutGS_c,1068
12
+ python_table_converter-0.2.8.dist-info/METADATA,sha256=Kl1OoA9CXqKyHAHvwrkyp1cb5S6P9drjSy0kqHEdxEc,1055
13
+ python_table_converter-0.2.8.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
14
+ python_table_converter-0.2.8.dist-info/entry_points.txt,sha256=VL9tNIWL31AGIvJnHetcJGH7G1i_WNcOknDpYq6JRac,117
15
+ python_table_converter-0.2.8.dist-info/RECORD,,
@@ -1,2 +1,2 @@
1
- __version__ = "0.2.7"
2
- __version_tuple__ = (0, 2, 7)
1
+ __version__ = "0.2.8"
2
+ __version_tuple__ = (0, 2, 8)
table_converter/cli.py CHANGED
@@ -39,12 +39,17 @@ def command_convert_tables(
39
39
  if parser is None:
40
40
  parse_and_run(command_parser)
41
41
 
42
- def main():
43
- parser = argparse.ArgumentParser(description='Table Data Converter')
42
+ def setup_common_args(
43
+ parser: argparse.ArgumentParser,
44
+ ):
44
45
  parser.add_argument(
45
46
  '--verbose', '-v',
46
47
  action='store_true',
47
48
  )
49
+
50
+ def main():
51
+ parser = argparse.ArgumentParser(description='Table Data Converter')
52
+ setup_common_args(parser)
48
53
  parser.set_defaults(handler=None)
49
54
  subparsers = parser.add_subparsers(dest='command')
50
55
 
@@ -52,6 +57,7 @@ def main():
52
57
  'convert',
53
58
  help='Convert a table to a different format.'
54
59
  )
60
+ setup_common_args(parser_convert_tables)
55
61
  command_convert_tables(parser_convert_tables)
56
62
 
57
63
  parse_and_run(parser)
@@ -52,6 +52,15 @@ def load_excel(
52
52
  df = pd.read_excel(input_file)
53
53
  return df
54
54
 
55
+ @register_loader('.json')
56
+ def load_json(
57
+ input_file: str,
58
+ ):
59
+ with open(input_file, 'r') as f:
60
+ data = json.load(f)
61
+ df = pd.DataFrame(data)
62
+ return df
63
+
55
64
  @register_saver('.json')
56
65
  def save_json(
57
66
  df: pd.DataFrame,
@@ -261,8 +270,9 @@ def convert(
261
270
  for index, row in df.iterrows():
262
271
  orig = OrderedDict(row)
263
272
  new_row = OrderedDict(row)
264
- set_field_value(new_row, f'{STAGING_FIELD}.{INPUT_FIELD}', orig)
265
- set_field_value(new_row, f'{STAGING_FIELD}.{FILE_FIELD}', input_file)
273
+ if STAGING_FIELD not in new_row:
274
+ set_field_value(new_row, f'{STAGING_FIELD}.{INPUT_FIELD}', orig)
275
+ set_field_value(new_row, f'{STAGING_FIELD}.{FILE_FIELD}', input_file)
266
276
  if config.process.assign_constants:
267
277
  new_row = map_constants(new_row, config.process.assign_constants)
268
278
  if config.map: