Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/347.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在python循环中编辑Excel工作表_Python_Excel_Xlwings - Fatal编程技术网

在python循环中编辑Excel工作表

在python循环中编辑Excel工作表,python,excel,xlwings,Python,Excel,Xlwings,我可以使用xlwings编辑Excel文件: import xlwings as xw filepath = ('file.xlsx') wb = xw.Workbook(filepath) sh = 'Sheet1' l = ['B6','B7','B8','B9','B10','B11'] for i in range(len(l)): xw.Range(sh, l[i]).value = i 如何在不必手动编写列表的情况下迭代行?此外,是否有一种方法可以迭代列 编辑:编辑单

我可以使用xlwings编辑Excel文件:

import xlwings as xw

filepath = ('file.xlsx')
wb = xw.Workbook(filepath)

sh = 'Sheet1'
l = ['B6','B7','B8','B9','B10','B11']

for i in range(len(l)):
    xw.Range(sh, l[i]).value = i
如何在不必手动编写列表的情况下迭代行?此外,是否有一种方法可以迭代列

编辑:编辑单元格范围现在可以工作了

import xlwings as xw

filepath = ('file.xlsx')
wb = xw.Workbook(filepath)

sh = 'Sheet1'
l = [8,7,6,5,4,3,2,1]

for i in range(len(l)):
    xw.Range(sh , (3,2),(10,2)).value = l[i]


问题:在这个过程中,每个单元格都发生了变化。我怎样才能改变一个,然后换到下一个呢?

是的,有一种方法可以做到,不过我强烈建议你阅读这篇文章,并亲自尝试一下

以下是您要寻找的内容的提示:

范围

classxlwings.Range(cell1=None,cell2=None,**选项) 返回表示单元格或单元格范围的范围对象

参数: cell1(str或tuple或Range)–位于左上角的范围名称,采用A1表示法,或作为索引tuple或作为Name或作为xw.Range对象。它还可以使用范围运算符(冒号)指定范围,例如'A1:B2' cell2(str或tuple或Range,默认为None)–位于右下角的范围名称,采用A1表示法,或作为索引tuple或作为Name或作为xw.Range对象

编辑:

Range()不是一个iterable对象吗?如果是,您可以这样使用:

for cell in Range(sh , (3,2),(10,2)):
    cell.value = 10

你不需要手动赋值吗?你能举一个期望行为的例子吗?这正是我想找出的。我想你的问题可以用我在编辑中暗示的代码来解决。你的代码片段在每个单元格中都有一个值,不是吗?这不是和我的编辑区做的一样吗?我想在for循环中编辑一个单元格,然后移动到下一个。让我自己尝试一种方法,如果我偶然发现它,我会分享它。