parameters: (sep=r'\s+', **kwargs)
return_statement: return read_csv(StringIO(text), sep=sep, **kwargs)
docstring: r"""
      Read text from clipboard and pass to read_csv. See read_csv for the
      full argument list
  
      Parameters
      ----------
      sep : str, default '\s+'
          A string or regex delimiter. The default of '\s+' denotes
          one or more whitespace characters.
  
      Returns
      -------
      parsed : DataFrame
docstring_summary: r"""
      Read text from clipboard and pass to read_csv. See read_csv for the
      full argument list
docstring_tokens: r Read text from clipboard and pass to read_csv . See read_csv for the full argument list
function: def read_clipboard(sep=r'\s+', **kwargs):  # pragma: no cover
      r"""
      Read text from clipboard and pass to read_csv. See read_csv for the
      full argument list
  
      Parameters
      ----------
      sep : str, default '\s+'
          A string or regex delimiter. The default of '\s+' denotes
          one or more whitespace characters.
  
      Returns
      -------
      parsed : DataFrame
      """
      encoding = kwargs.pop('encoding', 'utf-8')
  
      # only utf-8 is valid for passed value because that's what clipboard
      # supports
      if encoding is not None and encoding.lower().replace('-', '') != 'utf8':
          raise NotImplementedError(
              'reading from clipboard only supports utf-8 encoding')
  
      from pandas.io.clipboard import clipboard_get
      from pandas.io.parsers import read_csv
      text = clipboard_get()
  
      # try to decode (if needed on PY3)
      # Strange. linux py33 doesn't complain, win py33 does
      if PY3:
          try:
              text = compat.bytes_to_str(
                  text, encoding=(kwargs.get('encoding') or
                                  get_option('display.encoding'))
              )
          except AttributeError:
              pass
  
      # Excel copies into clipboard with \t separation
      # inspect no more then the 10 first lines, if they
      # all contain an equal number (>0) of tabs, infer
      # that this came from excel and set 'sep' accordingly
      lines = text[:10000].split('\n')[:-1][:10]
  
      # Need to remove leading white space, since read_csv
      # accepts:
      #    a  b
      # 0  1  2
      # 1  3  4
  
      counts = {x.lstrip().count('\t') for x in lines}
      if len(lines) > 1 and len(counts) == 1 and counts.pop() != 0:
          sep = '\t'
  
      # Edge case where sep is specified to be None, return to default
      if sep is None and kwargs.get('delim_whitespace') is None:
          sep = r'\s+'
  
      # Regex separator currently only works with python engine.
      # Default to python if separator is multi-character (regex)
      if len(sep) > 1 and kwargs.get('engine') is None:
          kwargs['engine'] = 'python'
      elif len(sep) > 1 and kwargs.get('engine') == 'c':
          warnings.warn('read_clipboard with regex separator does not work'
                        ' properly with c engine')
  
      # In PY2, the c table reader first encodes text with UTF-8 but Python
      # table reader uses the format of the passed string. For consistency,
      # encode strings for python engine so that output from python and c
      # engines produce consistent results
      if kwargs.get('engine') == 'python' and PY2:
          text = text.encode('utf-8')
  
      return read_csv(StringIO(text), sep=sep, **kwargs)
function_tokens: def read_clipboard ( sep = r'\s+' , * * kwargs ) : # pragma: no cover encoding = kwargs . pop ( 'encoding' , 'utf-8' ) # only utf-8 is valid for passed value because that's what clipboard # supports if encoding is not None and encoding . lower ( ) . replace ( '-' , '' ) != 'utf8' : raise NotImplementedError ( 'reading from clipboard only supports utf-8 encoding' ) from pandas . io . clipboard import clipboard_get from pandas . io . parsers import read_csv text = clipboard_get ( ) # try to decode (if needed on PY3) # Strange. linux py33 doesn't complain, win py33 does if PY3 : try : text = compat . bytes_to_str ( text , encoding = ( kwargs . get ( 'encoding' ) or get_option ( 'display.encoding' ) ) ) except AttributeError : pass # Excel copies into clipboard with \t separation # inspect no more then the 10 first lines, if they # all contain an equal number (>0) of tabs, infer # that this came from excel and set 'sep' accordingly lines = text [ : 10000 ] . split ( '\n' ) [ : - 1 ] [ : 10 ] # Need to remove leading white space, since read_csv # accepts: #    a  b # 0  1  2 # 1  3  4 counts = { x . lstrip ( ) . count ( '\t' ) for x in lines } if len ( lines ) > 1 and len ( counts ) == 1 and counts . pop ( ) != 0 : sep = '\t' # Edge case where sep is specified to be None, return to default if sep is None and kwargs . get ( 'delim_whitespace' ) is None : sep = r'\s+' # Regex separator currently only works with python engine. # Default to python if separator is multi-character (regex) if len ( sep ) > 1 and kwargs . get ( 'engine' ) is None : kwargs [ 'engine' ] = 'python' elif len ( sep ) > 1 and kwargs . get ( 'engine' ) == 'c' : warnings . warn ( 'read_clipboard with regex separator does not work' ' properly with c engine' ) # In PY2, the c table reader first encodes text with UTF-8 but Python # table reader uses the format of the passed string. For consistency, # encode strings for python engine so that output from python and c # engines produce consistent results if kwargs . get ( 'engine' ) == 'python' and PY2 : text = text . encode ( 'utf-8' ) return read_csv ( StringIO ( text ) , sep = sep , * * kwargs )