本文转自https://www.cnblogs.com/dongrui624/p/9054085.html,谢谢

需求:
把app_student.xls里面的数据,
1、如果这一行数据里面有乱码(及包含?),那么就删掉
2、再加上一列,是否毕业
3、如果班级是天蝎座的话,毕业这一列写成毕业
4、其他班级的写成未毕业

原始数据:

实现:
复制代码
import xlrd,xlwt
EXCEL_NAME = ‘app_student.xls’
def delete_messy_code(excel_name): #删除乱码
book = xlrd.open_workbook(excel_name)
sheet = book.sheet_by_index(0)
data = []
for i in range(sheet.nrows):
if ‘?’ in str(sheet.row_values(i)):#仅将没有乱码的数据加入data[]
continue
else:
data.append(sheet.row_values(i))
return data

def update_col(data): #增加列,并填入是否毕业
for d in data:
if d[5] == ‘grade’:
d.append(‘是否毕业’)
elif d[5] == ‘天蝎座’:
d.append(‘毕业’)
else:
d.append(‘未毕业’)
return data

def wt_excel(excel_name): #将处理后的结果写入Excel
rb = xlwt.Workbook()
rbs =rb.add_sheet(‘sheet1’)
data = delete_messy_code(excel_name)
row = 0
for field in update_col(data):
for col, f in enumerate(field):
rbs.write(row,col,f)
row += 1
rb.save(excel_name)

wt_excel(EXCEL_NAME)

Python读写excel练习_去除excel中乱码行,并添加列相关推荐

  1. python读excel乱码_Python读写excel练习_去除excel中乱码行,并添加列

    需求: 把app_student.xls里面的数据, 1.如果这一行数据里面有乱码(及包含?),那么就删掉 2.再加上一列,是否毕业 3.如果班级是天蝎座的话,毕业这一列写成毕业 4.其他班级的写成未 ...

  2. 用VBA得到EXCEL表格中的行数和列数

    用VBA得到EXCEL表格中的行数和列数 每种方法中上面的是Excel的行数,下面的是Excel的列数. 方法1: ActiveSheet.UsedRange.Rows.Count ActiveShe ...

  3. Office EXCEL VBA如何取得EXCEL中的行数和列数

    VBA取得EXCEL表格中的行数和列数 请注意不要使用Columus等关键字作为变量,例如"Columus = ActiveSheet.UsedRange.Columns.Count&quo ...

  4. (转贴)用VBA得到EXCEL表格中的行数和列数

    <script type="text/javascript"></script> <script src="http://pagead2.g ...

  5. 在Excel中固定行标题和列标题

    在Excel中固定行标题和列标题,也就是让第一列或者第一行在滚屏的时候保持不动,方法很简单,如下: 如果想固定第一行,则选定第二行,然后在菜单栏选择,窗口,冻结窗格 如果想固定第一列,则选定第二列,然 ...

  6. Java 去除字符串中乱码

    浅记一下 处理去除字符串中乱码可以使用正则表达式,配合unicode 举一个小的例子就是, 我要从包含乱码的字符串中提取非乱码字符,就可以用以下正则语句配合replaceAll方法使用 正则表达式的意 ...

  7. excel2010设置列宽为像素_Excel2010中调整行高和列宽的方法

    Excel2010的默认情况下,Excel中所有行的高度和所有列的宽度都是相等的.可以利用鼠标拖动方式和"格式"列表中的命令来调整Excel的行高和列宽. 1.鼠标拖动法 在对行高 ...

  8. xlsx怎么设置行高列宽_Excel2016中调整行高和列宽的两种方法

    在报表的编辑过程中经常需要调整特定行的行高或列的列宽,例如当单元格中输入的数据超出该单元格宽度时,需要调整单元格的列宽.本文图文讲述了Excel2016中调整行高和列宽的两种方法. 方法一:使用命令调 ...

  9. access调整行高和列宽_access数据表中改变行高和列宽有哪几种方法?

    展开全部 access数据表中改变行高和列宽的方法: 1.直接在行选择器或列选择权边界处拖动: 2.点击顶部行选择后,右击,可从快捷32313133353236313431303231363533e5 ...

  10. mysql 指定位置添加列,如何在MySQL现有表中的特定位置添加列?

    要在现有表中的特定位置添加列,请使用after命令.语法如下-ALTER TABLE yourTableName ADD COLUMN yourColumnName data type AFTER y ...

最新文章

  1. React 项目中使用Echarts
  2. markdown编辑
  3. Java中泛型的各种使用
  4. python 输出“Hello, world”
  5. 查看服务器的某个端口是否允许访问
  6. 火狐浏览器插件_期待!全新安卓正式版Firefox火狐浏览器,将支持97个插件
  7. 测度论相关概念(吐)
  8. Vista新特征(Features)(英文)
  9. 人工智能之基于face_recognition的人脸检测与识别
  10. mysql 安装目录说明
  11. 光栅图形学算法基础其二 (裁剪算法)
  12. JAVA设计模式 - 单例模式
  13. golang mysql 回调_Golang操作MySQL的正确姿势
  14. 使用Nero6刻录软件刻录光盘镜像
  15. X32位 天堂2 二章/三章 服务端协议号修改方法
  16. 怎么将pdf转换成jpg图片格式
  17. 手把手教你使用stata做竞争风险模型
  18. 大龄程序员找工作,为什么这么难?
  19. 切尔西为切赫提供新岗位 蓝军盼其“回家”
  20. 在canvas上实现3D效果

热门文章

  1. 无线之minidwep-gtk
  2. 共享图书管理系统数据库实现
  3. 计算机类专业试题及答案,计算机专业考试试题集及答案.doc
  4. 网站克隆工具-httrack安装使用教程
  5. Hbase数据库设计
  6. python爬网易新闻_爬虫入门:如何用python爬取网易新闻?
  7. 一台 ZXHN F650(GPON ONU) 学习小记
  8. 腾讯信鸽-百亿级别的消息推送背后的技术了解下
  9. 【转】VS2015安装教程(带图解+下载地址+超详细)
  10. 详解Python函数如何重载?