code: def write_tables(tables, path, column_styles=None, cell_styles=None,
                   tables_fields=None, tables_names=None):
      
      assert isinstance(path, string_types), "`path` debe ser un string"
      assert isinstance(tables, dict), "`table` es dict de listas de dicts"
  
      # Deduzco el formato de archivo de `path` y redirijo según corresponda.
      suffix = path.split(".")[-1]
      if suffix == "csv":
          for table_name, table in tables:
              root_path = "".join(path.split(".")[:-1])
              table_path = "{}_{}.csv".format(root_path, table_name)
              _write_csv_table(table, table_path)
  
      elif suffix == "xlsx":
          return _write_xlsx_table(tables, path, column_styles, cell_styles,
                                   tables_fields=tables_fields,
                                   tables_names=tables_names)
  
      else:
          raise ValueError("""
  {} no es un sufijo reconocido. Pruebe con .csv o.xlsx""".format(suffix))
docs: Exporta un reporte con varias tablas en CSV o XLSX.
  
      Si la extensión es ".csv" se crean varias tablas agregando el nombre de la
      tabla al final del "path". Si la extensión es ".xlsx" todas las tablas se
      escriben en el mismo excel.
  
      Args:
          table (dict of (list of dicts)): Conjunto de tablas a ser exportadas
              donde {
                  "table_name": [{
                      "field_name1": "field_value1",
                      "field_name2": "field_value2",
                      "field_name3": "field_value3"
                  }]
              }
          path (str): Path al archivo CSV o XLSX de exportación.