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:\somewhere\fileName.xls','Sheet1','Sheet2','小朋友','青年人','可爱','美丽','C:\somewhere\newFileName.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:\somewhere\fileName.xls','Sheet1','Sheet2','小朋友','青年人','可爱','美丽','C:\somewhere\newFileName.xls')

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值