code: def find_file_structure(self, body, params=None):
          
          if body in SKIP_IN_PATH:
              raise ValueError("Empty value passed for a required argument 'body'.")
          return self.transport.perform_request(
              "POST",
              "/_ml/find_file_structure",
              params=params,
              body=self._bulk_body(body),
          )
docs: `<http://www.elastic.co/guide/en/elasticsearch/reference/current/ml-file-structure.html>`_
  
          :arg body: The contents of the file to be analyzed
          :arg charset: Optional parameter to specify the character set of the
              file
          :arg column_names: Optional parameter containing a comma separated list
              of the column names for a delimited file
          :arg delimiter: Optional parameter to specify the delimiter character
              for a delimited file - must be a single character
          :arg explain: Whether to include a commentary on how the structure was
              derived, default False
          :arg format: Optional parameter to specify the high level file format,
              valid choices are: 'ndjson', 'xml', 'delimited',
              'semi_structured_text'
          :arg grok_pattern: Optional parameter to specify the Grok pattern that
              should be used to extract fields from messages in a semi-structured
              text file
          :arg has_header_row: Optional parameter to specify whether a delimited
              file includes the column names in its first row
          :arg lines_to_sample: How many lines of the file should be included in
              the analysis, default 1000
          :arg quote: Optional parameter to specify the quote character for a
              delimited file - must be a single character
          :arg should_trim_fields: Optional parameter to specify whether the
              values between delimiters in a delimited file should have whitespace
              trimmed from them
          :arg timeout: Timeout after which the analysis will be aborted, default
              '25s'
          :arg timestamp_field: Optional parameter to specify the timestamp field
              in the file
          :arg timestamp_format: Optional parameter to specify the timestamp
              format in the file - may be either a Joda or Java time format