excel - python xlwings - copy and paste ranges -
my first question on site.
i using xlwings python 2.7. want copy values in range 'a1:a6' sheet1 cells 'a1:a6' in sheet2. code follows:
> my_range = range('sheet1','a1:a6').value > > range('sheet2','a1:a6').value = my_range
when run code, however, puts values of my_range
cells 'a1:f1' on sheet 2 instead of cells 'a1:a6' in sheet 2.
columns (as rows) returned simple ("horizontal") lists, see docs here. why? first of all, mimics behavior of numpy 1d arrays. second, it's you'll want, e.g. can directly iterate on column or check if value exists without having unpack nested list first.
now, in case, you'll want preserve 2d shape can (again similar numpy) follows:
my_values = range('sheet1','a1:a6', atleast_2d=true).value range('sheet2','a1:a6').value = my_values
also note call my_range
should rather called my_values
holds list, not xlwings range object.
update:
since v0.7.0, syntax changed to:
my_values = range('sheet1','a1:a6').options(ndim=2).value range('sheet2','a1:a6').value = my_values
Comments
Post a Comment