Cod*_*oob 6 python excel xlwings
我在这个网站上的第一个问题.
我正在使用xlwings和python 2.7.我想将Sheet1中范围'A1:A6'中的值复制到Sheet2中的单元格'A1:A6'.我的代码如下:
> my_range = Range('Sheet1','A1:A6').value
>
> Range('Sheet2','A1:A6').value = my_range
Run Code Online (Sandbox Code Playgroud)
但是,当我运行此代码时,它会将值my_range放入工作表2中的单元格"A1:F1"而不是工作表2中的单元格"A1:A6".
Fel*_*ein 13
列(以及行)作为简单("水平")列表返回,请参阅此处的文档.为什么?首先,它模仿numpy 1d数组的行为.其次,它通常是您想要的,例如,您可以直接遍历列或检查是否存在值,而无需先解包嵌套列表.
现在,在你的情况下,你显然想要保留你可以做的2d形状(再次类似于numpy),如下所示:
my_values = Range('Sheet1','A1:A6', atleast_2d=True).value
Range('Sheet2','A1:A6').value = my_values
Run Code Online (Sandbox Code Playgroud)
另请注意,您调用的内容my_range应该被调用,my_values因为它包含列表,而不是xlwings Range对象.
更新:
自v0.9.0起,语法更改为:
import xlwings as xw
wb = xw.Book('mybook.xlxs')
my_values = wb.sheets['Sheet1'].range('A1:A6').options(ndim=2).value
wb.sheets['Sheet2'].range('A1:A6').value = my_values
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6225 次 |
| 最近记录: |