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

如何用Python for循环读取Excel指定列单元格?逐字符输出问题求助

问题根因

原有代码的for循环遍历对象是sheet.cell_value(rownum,2),此时rownum初始值为1,该语句只会返回第1行第2列单个单元格的字符串内容,字符串迭代默认遍历每个字符,循环内的rownum += 1不会改变循环的遍历对象,因此出现逐字符打印的结果。

修正方案

写法1:逐行遍历取值

import xlrd

# 路径前加r标记为原始字符串,避免Windows路径反斜杠转义错误
location = r"C:\Users\user2\Desktop\Python\Other\blah.xls"
workbook = xlrd.open_workbook(location)
sheet = workbook.sheet_by_index(0)

# 从第1行开始遍历到最后一行,sheet.nrows为表格总行数
for rownum in range(1, sheet.nrows):
    print(sheet.cell_value(rownum, 2))

写法2:直接提取指定列所有值再遍历(更简洁)

import xlrd

location = r"C:\Users\user2\Desktop\Python\Other\blah.xls"
workbook = xlrd.open_workbook(location)
sheet = workbook.sheet_by_index(0)

# 直接获取第2列从第1行开始的所有单元格值
col_2_values = sheet.col_values(2, start_rowx=1)
for cell_value in col_2_values:
    print(cell_value)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.21 14:36:09