You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python实现Excel单元格逐格读写操作?

用Python实现Excel逐单元格读写操作

你的需求是逐行读取Excel中Income列的单元格,计算10%税额后写入对应Tax列,用xlwings可以完全模拟VBA的逐单元格操作,以下是修正后的完整代码:

import xlwings as xw

# 打开Excel工作簿
wb = xw.Book("Database.xlsx")
ws = wb.sheets["Sheet1"]

# 获取数据总行数(从第2行开始到最后一行有数据的行)
last_row = ws.range("A2").end('down').row

# 逐行循环处理
for row in range(2, last_row + 1):
    # 读取Income列(第3列)的单元格值
    income_str = ws.cells(row, 3).value
    # 去除千分位逗号并转换为数值
    income = float(income_str.replace(',', ''))
    # 计算10%的税额
    tax = income * 0.1
    # 写入Tax列(第4列)的对应单元格
    ws.cells(row, 4).value = tax

# 保存并关闭工作簿
wb.save("Database.xlsx")
wb.close()

关键说明:

  • 单元格引用:用ws.cells(row, col)可以像VBA一样通过行号列号定位单元格,比如第2行第3列就是cells(2,3),和你熟悉的VBA写法一致。
  • 千分位处理:Income列的值带逗号,需要先用replace(',', '')去掉逗号再转成数值,否则无法计算。
  • 循环范围:通过ws.range("A2").end('down').row自动获取最后一行数据的行号,避免手动指定行数,更灵活。
  • 资源释放:最后加上wb.close()可以关闭Excel进程,避免后台残留。

内容的提问来源于stack exchange,提问作者Add

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 21:55:10