code: def create_table(self, table, exists_ok=False, retry=DEFAULT_RETRY):
          
          table = _table_arg_to_table(table, default_project=self.project)
  
          path = "/projects/%s/datasets/%s/tables" % (table.project, table.dataset_id)
          data = table.to_api_repr()
          try:
              api_response = self._call_api(retry, method="POST", path=path, data=data)
              return Table.from_api_repr(api_response)
          except google.api_core.exceptions.Conflict:
              if not exists_ok:
                  raise
              return self.get_table(table.reference, retry=retry)
docs: API call:  create a table via a PUT request
  
          See
          https://cloud.google.com/bigquery/docs/reference/rest/v2/tables/insert
  
          Args:
              table (Union[ \
                  :class:`~google.cloud.bigquery.table.Table`, \
                  :class:`~google.cloud.bigquery.table.TableReference`, \
                  str, \
              ]):
                  A :class:`~google.cloud.bigquery.table.Table` to create.
                  If ``table`` is a reference, an empty table is created
                  with the specified ID. The dataset that the table belongs to
                  must already exist.
              exists_ok (bool):
                  Defaults to ``False``. If ``True``, ignore "already exists"
                  errors when creating the table.
              retry (google.api_core.retry.Retry):
                  Optional. How to retry the RPC.
  
          Returns:
              google.cloud.bigquery.table.Table:
                  A new ``Table`` returned from the service.