迭代Excel列A,使用Python win32写入列B

迭代Excel列A,使用Python win32写入列B,python,excel,win32com,Python,Excel,Win32com,我有一个excel电子表格。我希望遍历该电子表格的A列,并使用字符串中A列的值写入B列。我已经成功地使用Python在Excel中复制和粘贴,并设置了一些脚本,现在这一个正在呈现一种冲击编辑:一旦A列中没有更多值,我需要停止编辑。 import win32com.client as win32 excel = win32.gencache.EnsureDispatch('Excel.Application') excel.Visible = 1; wb = excel.Workbooks.Ope

我有一个excel电子表格。我希望遍历该电子表格的A列,并使用字符串中A列的值写入B列。我已经成功地使用Python在Excel中复制和粘贴,并设置了一些脚本,现在这一个正在呈现一种冲击编辑:一旦A列中没有更多值,我需要停止编辑。

import win32com.client as win32
excel = win32.gencache.EnsureDispatch('Excel.Application')
excel.Visible = 1;
wb = excel.Workbooks.Open("C:\file.xls");
ws = wb.Worksheets("Sheet1")
我已经编写了下面的代码,但是与Python(初学者)的关系不好,不知道如何设置它:

starting read cell = A1
starting write cell = B1
for cell in column A:
    ws.Range("B1").Value = str("W"&TEXT(A1,"00000"))
因此,如果我的excel电子表格如下所示:

A B
1
2
那么结果将是:

A B
1 W00001
2 W00002
(注意,我在这里使用excel公式编写)

有什么建议吗??谢谢大家

试试看:

col = ws.Range("A1:A100")
for cell in col:
    cell.Offset(1,2).Value = "W0000%s" % cell.Value

这真是太棒了,斯科利。唯一需要注意的是(我忘了添加这个,请参见编辑):我需要弄清楚如何让它在列中迭代,以便它在最后一个值处停止。这就是我使用的:excel.Range(“A1:A1”).End(XlDirectionDown)。Select()//last=excel.Selection.Address//col ws.Range($A$1:“str(last))。。。。。所有的工作都很出色,最后停在A栏的单元格里。一如既往地谢谢你,@scholli