使用python过滤一列并在新的Excel文件中填充相应的行

时间:2018-11-19 06:15:02

标签: excel python-3.x dataframe tkinter

我正在尝试过滤一列,该列包括带有其描述的产品列表(还包含一些产品ID)。

我正在使用Tkinter作为我的GUI,以提供3个产品ID并获得与之相似的ID(在这种情况下,我提供了12345678s12并获得了与它相似的所有IDS,例如34534534q23、98765432y23等) )

the data looks something like this

脚本如下:

def clean():

    df['PO Item Description'] = df['PO Item Description'].astype(str).str.lower()  

    y =""
    M = entryx.get() # Entry one from tkinter
    N = entryx2.get() # Entry Two from tkinter
    O = entryx3.get() # Entry three from tkinter

    listx={'text1':[M,N,O]}

    for values in listx.values():
        if (listx["text1"][0]==listx["text1"][1]==listx["text1"][2]):
            text1 = listx['text1'][0]
            for i in range(0,len(text1)):

                r=re.match('[a-zA-Z]',text1[i])
                if r!=None:
                    y+='[a-zA-Z]'
                r=re.match('[0-9]',text1[i])            
                if r!=None:
                    y+='\d'       
                r=re.match('[.\,_/=&*()%^@$!#-]',text1[i])
                if r!=None: 
                    y+='\W'
                r=re.match('[ ]',text1[i])
                if r!=None:
                    y+='\s' 
        else:
            pass   

    ids = df['PO Item Description'].str.extract(r"({})".format(y),expand =False).dropna().tolist() #finds all items with similar Product ID

    resultxx= ''
    for product_IDs in zip(*[iter(ids)]):
        resultxx = pd.DataFrame(ids)

此代码有效,但是由于我是Python的新手,所以非常笨拙。 现在我对代码的疑问是:

  1. 如何使此代码更高效?
  2. 如何获取已被过滤的各行并将其填充到新的Excel文件中?

请帮帮我。 预先谢谢你

0 个答案:

没有答案