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


需求:

把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)

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM