Python实现Excel两列字符串合并:遍历列表方案咨询
解决方案:用for循环合并Excel两列字符串
当然可以用for循环实现这个需求!你的初始代码已经搞定了文件读取的第一步,接下来只需要简单几步就能完成列合并,我给你详细拆解并给出完整实现:
完整代码实现
import xlrd file_location = "C:/Users/Desktop/manual.xlsx" workbook = xlrd.open_workbook(file_location) # 获取第一个工作表(如果你的表有明确名称,也可以用sheet_by_name("表名")) sheet = workbook.sheet_by_index(0) # 初始化列表存储合并后的结果 merged_column = [] # 遍历每一行,合并两列字符串 for row_idx in range(sheet.nrows): # 获取第row_idx行的第0列和第1列数据,转成字符串避免类型问题 col1_content = str(sheet.cell_value(row_idx, 0)) col2_content = str(sheet.cell_value(row_idx, 1)) # 合并字符串,可根据需求加分隔符,比如col1_content + " | " + col2_content merged_str = col1_content + col2_content # 将合并后的字符串加入结果列表 merged_column.append(merged_str) # 打印结果验证(可选) for idx, content in enumerate(merged_column): print(f"第{idx+1}行合并结果:{content}")
关键细节说明
- 工作表获取:
sheet_by_index(0)表示取Excel里的第一个工作表,如果目标工作表有明确名称,改用sheet_by_name("你的表名")会更稳妥。 - 数据类型转换:用
str()包裹单元格值是为了避免遇到数字、日期等非字符串类型时合并出错。 - 表头处理:如果Excel第一行是表头不需要合并,把循环改成
range(1, sheet.nrows)即可,从第二行开始处理。 - 自定义分隔符:如果需要在两列内容间加分隔符(比如空格、逗号、竖线),直接修改合并逻辑就行,比如
merged_str = f"{col1_content}, {col2_content}"。
如果之后需要把合并后的列写回Excel,也可以搭配xlwt(针对xls格式)或者openpyxl(支持xlsx格式)来实现,核心的合并逻辑就是上面的for循环啦。
内容的提问来源于stack exchange,提问作者fg42
相关产品推荐
相关产品推荐

