请选择 进入手机版 | 继续访问电脑版

 找回密码
 立即注册
搜索
热搜: Excel discuz
查看: 1699|回复: 0

[《从excel到python》笔记案例] 字符串替换案例--整理不规范的分隔符

[复制链接]

482

主题

7万

元宝

75万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
750844
发表于 2022-1-26 15:03:08 | 显示全部楼层 |阅读模式
2022-01-26_145943.png
需求:根据B列名单,统一分隔符。
思路:循环每一列拿到名单,然后再循环分隔符替换。
知识点:其中有个问题,循环替换分隔符的步骤中,新旧字符串的变量名要一致,因为这里是循环替换,如果不一致的话,就出现了循环替换都用老字符串替换,还是达不到最终效果。
先上书上代码:
  1. import xlrd#导入读取xls文件的库。
  2. from xlutils.copy import copy#导入工作簿复制函数。
  3. wb=xlrd.open_workbook('Chapter-4-11.xls')#读取工作簿。
  4. ws=wb.sheet_by_name('员工表')#读取工作表。
  5. nwb=copy(wb)#复制工作簿产生一个副本。
  6. nws=nwb.get_sheet('员工表')#读取副本中的工作表。
  7. row_num=0#初始化row_num变量为0。
  8. while row_num<ws.nrows-1:#当row_num变量小于已使用单元格区域行数时。
  9.     row_num +=1#则对row_num变量累加1。
  10.     roster=ws.cell_value(row_num, 1)#获取B列单元格的值。
  11.     print(roster)
  12.     for symbol in '、\|':#循环要被替换的符号。
  13.         roster=roster.replace(symbol,'-')#将指定字符替换为'-'。
  14.     print(roster)
  15.     nws.write(row_num,2,roster)#将替换结果写入C列单元格。
  16. nwb.save('Chapter-4-101.xls')#保存副本工作簿。
复制代码
再上我写的for循环代码:
  1. import xlrd
  2. from xlutils.copy import copy
  3. wb = xlrd.open_workbook('Chapter-4-11.xls')
  4. ws = wb.sheet_by_index(0)
  5. nwb = copy(wb)
  6. nws = nwb.get_sheet('员工表')
  7. for row in range(1,ws.nrows):
  8.     info = ws.cell_value(row,1)
  9.     for i in '、\|':
  10.         info = info.replace(i,'-')
  11.     nws.write(row,2,info)
  12. nwb.save('2.xls')
复制代码




回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|五花八门论坛 ( 豫ICP备15031300号-3 )

GMT+8, 2024-3-29 09:21 , Processed in 0.115132 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表