code: def copyfrom(self, query, iterable_data, compress=True,
                   compression_level=DEFAULT_COMPRESSION_LEVEL):
          
          url = self.api_url + '/copyfrom'
          headers = {
              'Content-Type': 'application/octet-stream',
              'Transfer-Encoding': 'chunked'
          }
          params = {'api_key': self.api_key, 'q': query}
  
          if compress:
              headers['Content-Encoding'] = 'gzip'
              _iterable_data = self._compress_chunks(iterable_data,
                                                     compression_level)
          else:
              _iterable_data = iterable_data
  
          try:
              response = self.client.send(url,
                                          http_method='POST',
                                          params=params,
                                          data=_iterable_data,
                                          headers=headers,
                                          stream=True)
              response_json = self.client.get_response_data(response)
          except CartoRateLimitException as e:
              raise e
          except Exception as e:
              raise CartoException(e)
  
          return response_json
docs: Gets data from an iterable object into a table
  
          :param query: The "COPY table_name [(column_name[, ...])]
                             FROM STDIN [WITH(option[,...])]" query to execute
          :type query: str
  
          :param iterable_data: An object that can be iterated
                                to retrieve the data
          :type iterable_data: object
  
          :return: Response data as json
          :rtype: str
  
          :raise CartoException: