分享一个用python对excel数据指定字段进行打标签的小代码

原数据:

处理后的数据:

 代码:

import openpyxl

#加载相应excel文件
exl=openpyxl.load_workbook('D://hk//spark课设//cars_pre.xlsx')
sheet=exl[exl.sheetnames[0]]
sheet=exl.active

#kinds为二维列表,存储需要打标签的字段各个标签对应值在excel表中的所有行索引,fun函数为执行单元格修改操作的主函数
def fun(col,kinds):
    for i,e in enumerate(kinds):
        for j in e:
            sheet[col+str(j)]=i

#集合k收集指定字段的各个标签对应值,pre函数收集并返回kinds列表
def pre(col):
    k,kinds=set(),[]
    for row in range(sheet.max_row-1):
        k.add(sheet.cell(row=row+2,column=col).value)

    print(len(k),k)

    for i in k:
        kinds.append([])
        for row in range(sheet.max_row-1):
            if sheet.cell(row=row+2,column=col).value==i:
                kinds[-1].append(row+2)
    print(kinds)
    return kinds

fun('b',pre(2))
fun('g',pre(7))
fun('i',pre(9))
fun('j',pre(10))
fun('k',pre(11))

exl.save('D://hk//spark课设//cars_pre.xlsx')

数据转换是数据预处理的一个重要步骤,数据转换又分为数字化、离散化、归一化等,以上代码是对指定列数据做数字化的一个过程。

Logo

助力广东及东莞地区开发者,代码托管、在线学习与竞赛、技术交流与分享、资源共享、职业发展,成为松山湖开发者首选的工作与学习平台

更多推荐