我想要执行某种文本清理。
以下是我用来做同样的代码:
from nltk.tag import pos_tag
import os
import nltk
import cx_Oracle
conn_str = u'username/pswd@10.203.97.86:1521/PRD'
conn = cx_Oracle.connect(conn_str)
cur = conn.cursor()
query = "select ID,SUMMARY from text_table"
cur = conn.cursor()
cur.execute(query)
cursordata=cur.fetchall()
tbl=pd.DataFrame(cursordata, columns=["ID", "SUMMARY"])
NOOFTICKETS=len(tbl.index)
print(NOOFTICKETS)
for counter in range(0,len(tbl.index)):
print counter+1
ticketid = tbl['ID'][counter]
sentence = tbl['SUMMARY'][counter]
tagged_sent = pos_tag(sentence.split())
cleanSentence = [word for word,pos in tagged_sent if pos != 'NNP']
cur.execute("update text_table set summary_tuned = '"+' '.join(cleanSentence)+"' where id = '"+ticketid+"'")
conn.commit()
执行上述操作后的示例:
旧摘要:
TEP IN04公司代码支付运行执行问题亲爱的团队我们在2016年6月28日执行了付款,运行ID为IN04A,但付款尚未执行请检查并尽快完成付款谢谢Thenna
清理摘要:
代码付款运行执行问题我们在2016年28日执行了付款并运行但仍未执行付款检查并尽快做到了谢谢
现在,上面的代码所做的是删除所有以大写字母开头的单词,可能是因为它认为它们是合适的名词。但我只想删除名称。
此外,有没有办法清理电子邮件内容,如果文本中有任何内容?无论如何,Python通过包识别电子邮件内容吗?