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

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

[《从excel到python》笔记案例] 给名单中的姓名添加序号

[复制链接]

420

主题

6万

元宝

66万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
661830
发表于 2022-4-24 10:31:35 | 显示全部楼层 |阅读模式
2022-04-24_102932.png
需求:给B列的名单每个人的姓名加序号
思路:B列拆分成列表,将序号列表和姓名组成新列表,合并即可


  1. import xlrd,xlwt #导入xls文件的读取库与写入库。
  2. wb=xlrd.open_workbook('Chapter-5-21-1.xls');ws=wb.sheet_by_name('员工表') #读取工作簿与工作表。
  3. nwb=xlwt.Workbook('uft-8');nws=nwb.add_sheet('整理结果') #新建工作簿与工作表。
  4. nws.write(0,0,'公司名');nws.write(0,1,'名单') #将表头写入新工作表第1行。
  5. for row_num in range(1,ws.nrows): #循环行号。
  6.     val1=ws.cell_value(row_num,0) #读取'员工表'A列数据。
  7.     val=ws.cell_value(row_num,1) #读取'员工表'B列数据。
  8.     lst1=val.split('、') #对B列数据按'、'拆分。
  9.     zip_iter=zip(range(1,len(lst1)+1),lst1) #将序号列表与名单列表组合。
  10.     lst2=[str(num)+''+name for num,name in zip_iter] #将序号与姓名合并,构成列表。
  11.     val2='、'.join(lst2) #将构成的lst2列表用'、'合并。
  12.     nws.write(row_num,0,val1) #将公司名写入新工作表A列。
  13.     nws.write(row_num,1,val2) #将val2的值写入新工作表B列。
  14. nwb.save('Chapter-5-21-2.xls') #保存新工作簿。
复制代码



回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2022-8-11 00:57 , Processed in 0.066305 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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