栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Python处理Excel——筛选并标出符合的描述词

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python处理Excel——筛选并标出符合的描述词

目录

问题描述

思路

 运用到的库

用到的方法


问题描述

大概是这样的一张表格

我们需要找到符合的形容词并标上1,并且这个excel文件里有两个sheet

思路

1. 读取excel文件

2.Loop描述列,分别对比关键词

3.如果描述中包含了关键词则在相应位置写入1

4.导出excel文件

运用到的库

        pandas

import pandas as pd

如果我们要写一个类的话,它需要接收的参数应该包括了:

readUrl——这是我们要读取的文件的路径

writeUrl——我们打算写入的路径

sheetName1,sheetName2——取决于这个excel有几个sheet

keyword1,keyword2,keyword3,keyword4——取决于有几个关键词需要对比

def excelHelper(readUrl,sheetName1,sheetName2,keyword1,keyword2,keyword3,keyword4,writeUrl):

接下来是导入我们需要的excel文件,每个sheet都要导入

df1 = pd.Dataframe(pd.read_excel(readUrl, sheetName1))
df2 = pd.Dataframe(pd.read_excel(readUrl,sheetName2))

然后就是循环和对比的过程

    for i, r in df.iterrows():#按行循环整个表
        noneOfThem = 0#每一行的以上都未描述的初始值都设为0
        if keyword1 in df.iloc[i,1]:#这个df.iloc[i,1]是指向当前行的第二个位置,也就是[1]
            df1.iloc[i,2] = 1#如果符合就把对应位置设为1
            noneOfThem = 1 #如果符合任意一项,都不能称为以上都未描述
        if keyword2 in df.iloc[i,1]:
            df1.iloc[i,3] = 1
            noneOfThem = 1
        if keyword3 in df.iloc[i,1]:
            df1.iloc[i,3] = 1
            noneOfThem = 1
        if keyword4 in df.iloc[i,1]:
            df1.iloc[i,3] = 1
            noneOfThem = 1
        if noneOfThem = 0:
            df1.iloc[i,4] = 1#如果经过了上面的筛选后noneOfThem还是0,说明没有一条是符合的

之后就是写入新的路径啦!

    with pd.ExcelWriter(writeUrl) as writer:
        df1.to_excel(writer,sheet_name=sheetName1,index=False)
        df2.to_excel(writer, sheet_name=sheetName2,index=False)

最后最后叫一叫这个类

excelHelper('C:somewherefileName.xls','Sheet1','Sheet2','小朋友','青年人','可爱','美丽','C:somewherenewFileName.xls')

用到的方法

pd.Dataframe()

pd.read_excel() 

 df.iterrows() ——按行循环表

df.iloc[行坐标,列坐标]

df.to_excel()

完整代码
import pandas as pd

def excelHelper(readUrl,sheetName1,sheetName2,keyword1,keyword2,keyword3,keyword4,writeUrl):
    df1 = pd.Dataframe(pd.read_excel(readUrl, sheetName1))
    df2 = pd.Dataframe(pd.read_excel(readUrl,sheetName2))
    for i, r in df.iterrows():#按行循环整个表
        noneOfThem = 0#每一行的以上都未描述的初始值都设为0
        if keyword1 in df.iloc[i,1]:#这个df.iloc[i,1]是指向当前行的第二个位置,也就是[1]
            df1.iloc[i,2] = 1#如果符合就把对应位置设为1
            noneOfThem = 1 #如果符合任意一项,都不能称为以上都未描述
        if keyword2 in df.iloc[i,1]:
            df1.iloc[i,3] = 1
            noneOfThem = 1
        if keyword3 in df.iloc[i,1]:
            df1.iloc[i,3] = 1
            noneOfThem = 1
        if keyword4 in df.iloc[i,1]:
            df1.iloc[i,3] = 1
            noneOfThem = 1
        if noneOfThem = 0:
            df1.iloc[i,4] = 1#如果经过了上面的筛选后noneOfThem还是0,说明没有一条是符合的
    with pd.ExcelWriter(writeUrl) as writer:
        df1.to_excel(writer,sheet_name=sheetName1,index=False)
        df2.to_excel(writer, sheet_name=sheetName2,index=False)
excelHelper('C:somewherefileName.xls','Sheet1','Sheet2','小朋友','青年人','可爱','美丽','C:somewherenewFileName.xls')

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/618869.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号