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

[项目代码] excel数据清洗的小案例--转快学python公众号

[复制链接]

492

主题

7万

元宝

77万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
770449
发表于 2021-12-13 20:02:38 | 显示全部楼层 |阅读模式
需求如下:
微信图片_20211213200033.jpg
原始数据如下,想要达到上图的效果
微信图片_20211213200046.jpg

  1. from openpyxl import load_workbook
  2. from openpyxl import Workbook
  3. # 1、读取数据
  4. workbook = load_workbook(filename = "D:\\1.xlsx")
  5. workbook.sheetnames
  6. sheet = workbook["Sheet1"]
  7. # sheet.dimensions查看表格的维度
  8. cell = sheet["A2:G27"]
  9. # 2、提取表格中的数据
  10. y = []
  11. for i in cell:
  12.     x = []
  13.     for j in i:
  14.         x.append(j.value)
  15.         xx = x[:1]+x[4:]  #利用切片把中间三个空白切掉
  16.     y.append(xx)
  17. # 3、清洗数据,将清洗好的数据写入表格
  18. # 新建一个空白的excel表格
  19. workbook = Workbook()
  20. sheet1 = workbook.active
  21. sheet1.title = "表格1"
  22. sheet1.append(["学号","姓名","检测","讨论","成绩"])
  23. # 数据清洗
  24. for xx in y:
  25.     # 提取学号
  26.     xuehao = xx[0][5:16]
  27.     # 提取姓名
  28.     name = xx[0][16:]
  29.     # 提取检测
  30.     test = float(xx[1])
  31.     # 提取讨论
  32.     taolun = xx[2]
  33.     if taolun == "-":
  34.         taolun = 0
  35.     else:
  36.         taolun = float(xx[2])
  37.     # 提取成绩
  38.     score = float(xx[3])
  39.     final = [xuehao, name, test, taolun, score]
  40.     # 将最终的数据一行行的写入到excel中
  41.     sheet1.append(final)
  42. # 将数据写入到excel后,必须保存,否则前面的操作前功尽弃
  43. workbook.save(filename = "d:\作业.xlsx")
复制代码


回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-22 11:10 , Processed in 0.083197 second(s), 29 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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