Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
def refers_to_range(self):
"""
Returns the Range object referred to by a Name object.
.. versionadded:: 0.9.0
"""
return Range(impl=self.impl.refers_to_range)
"""
Returns the currently selected cells from Excel as ``Range`` object.
Keyword Arguments
-----------------
asarray : boolean, default False
returns a NumPy array where empty cells are shown as nan
atleast_2d : boolean, default False
Returns 2d lists/arrays even if the Range is a Row or Column.
Returns
-------
Range object
"""
return Range(xlplatform.get_selection_address(self.xl_app), wkb=self, asarray=asarray, atleast_2d=atleast_2d)
transpose values
expand : str, default None
One of ``'table'``, ``'down'``, ``'right'``
=> For converter-specific options, see :ref:`converters`.
Returns
-------
Range object
.. versionadded:: 0.7.0
"""
options['convert'] = convert
return Range(
impl=self.impl,
**options
)
Range object: Range
.. versionadded:: 0.3.0
"""
if row_size is not None:
assert row_size > 0
else:
row_size = self.shape[0]
if column_size is not None:
assert column_size > 0
else:
column_size = self.shape[1]
return Range(self(1, 1), self(row_size, column_size)).options(**self._options)
def range(self, cell1, cell2=None):
"""
Returns a Range object from the active sheet of the active book, see :meth:`Range`.
.. versionadded:: 0.9.0
"""
if isinstance(cell1, Range):
if cell1.sheet != self:
raise ValueError("First range is not on this sheet")
cell1 = cell1.impl
if isinstance(cell2, Range):
if cell2.sheet != self:
raise ValueError("Second range is not on this sheet")
cell2 = cell2.impl
return Range(impl=self.impl.range(cell1, cell2))
def offset(self, row_offset=0, column_offset=0):
"""
Returns a Range object that represents a Range that's offset from the specified range.
Returns
-------
Range object : Range
.. versionadded:: 0.3.0
"""
return Range(
self(
row_offset + 1,
column_offset + 1
),
self(
row_offset + self.shape[0],
column_offset + self.shape[1]
)
).options(**self._options)
def expand(self, rng):
if rng(2, 1).raw_value in _empty:
return Range(rng(1, 1), rng(1, rng.shape[1]))
elif rng(3, 1).raw_value in _empty:
return Range(rng(1, 1), rng(2, rng.shape[1]))
else:
end_row = rng(2, 1).end('down').row - rng.row + 1
return Range(rng(1, 1), rng(end_row, rng.shape[1]))
class RangeAccessor(Accessor):
@staticmethod
def copy_range_to_value(c):
c.value = c.range
@classmethod
def reader(cls, options):
return (
BaseAccessor.reader(options)
.append_stage(RangeAccessor.copy_range_to_value)
)
RangeAccessor.register(Range)
class RawValueAccessor(Accessor):
@classmethod
def reader(cls, options):
return (
Accessor.reader(options)
.append_stage(ReadValueFromRangeStage())
)
@classmethod
def writer(cls, options):
return (
Accessor.writer(options)
.prepend_stage(WriteValueToRangeStage(options, raw=True))
origin = rng(1, 1)
if origin(2, 1).raw_value in _empty:
bottom_left = origin
elif origin(3, 1).raw_value in _empty:
bottom_left = origin(2, 1)
else:
bottom_left = origin(2, 1).end('down')
if origin(1, 2).raw_value in _empty:
top_right = origin
elif origin(1, 3).raw_value in _empty:
top_right = origin(1, 2)
else:
top_right = origin(1, 2).end('right')
return Range(top_right, bottom_left)
def range(self, cell1, cell2=None):
"""
Range object from the active sheet of the active book, see :meth:`Range`.
.. versionadded:: 0.9.0
"""
return Range(impl=self.impl.range(cell1, cell2))