怎么用python依据多个关键词提取Excel里关键词所在的整行内容?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么用python依据多个关键词提取Excel里关键词所在的整行内容?相关的知识,希望对你有一定的参考价值。

第一个图是原数据文件,第二个图是关键词文件,关键词太多,通常保存在另一个文件中,怎么用python依据二图文件的关键词来提取一图文件的整行内容?

没有数据,模拟几条说明常规思路。

a=['PGSC1','PGSC3','PGSC6','PGSC7']

b=[['PGSC1','A',555],['PGSC2','B',988],['PGSC3','C',7666],['PGSC7','P',8767],['PGSC1','A',567]]

data=[]

for x in a:

for y in b:

if x==y[0]:

data.append(y)

print(data)

当然,你也可以用numpy或者pandas来处理会更方便。

追问

我之前试过,行不通,不知道哪里出问题了

12.csv是原数据文件,1.TXT是关键词文件,
下图是我的脚本,以及列表,红框框起来的地方是我的关键词,但是最后出来的文件是空的

追答

if line_2.strip() in line_1:

参考技术A python
不会,
VBA可以实现.追问

怎么弄呢?VBA的话

追答

我就会

python怎么用正则表达式提取中文

Python re正则匹配中文,其实非常简单,把中文的unicode字符串转换成utf-8格式就可以了,然后可以在re中随意调用
unicode中中文的编码为/u4e00-/u9fa5,因此正则表达式u”[\u4e00-\u9fa5]+”可以表示一个或者多个中文字符
>>> import re

>>> s='中文:123456aa哈哈哈bbcc'.decode('utf8')
>>> s
u'\u4e2d\u6587\uff1a123456aa\u54c8\u54c8\u54c8bbcc'
>>> print s
中文:123456aa哈哈哈bbcc

>>> re.match(u"[\u4e00-\u9fa5]+",s)
<_sre.SRE_Match object at 0xb77742c0>

>>> pat='中文'.decode("utf8")
>>> re.search(pat,s)
<_sre.SRE_Match object at 0x16a16df0>

>>> newpat='这里是中文内容'.decode("utf8")

>>> news=re.sub(pat,newpat,s)
>>> print news
这里是中文内容:123456aa哈哈哈bbcc

from:http://blog.aizhet.com/web/12078.html
参考技术A

1、字符串line='\\ufeffD0002044\\x01大数据\\x01数据分析\\x01技术\\x01工具\\x01应用\\n'
想提取出其中的“大数据”,“数据分析”,“技术”,“工具”,“应用”这些中文,用了正则表达式:
>>> pat2='\\x01(.*?)'
>>> rs=re.compile(pat2).findall(line)
>>> print(rs)
['', '', '', '', '']
显示的结果是空,请问如何才能正确的提出中文部分。

2、原文: 法规名称:'《中华人民共和国合同法》',Items:[法条名称:'第五十二条'
匹配成: 《中华人民共和国合同法》第五十二条
(?<=法规名称:\\').*?(\\',Items:[法条名称:\\').*?(?=\\') 请问这样匹配哪里错了?Python报sre_constants.error: unterminated character set at position 22  

3、Python re正则匹配中文,其实非常简单,把中文的unicode字符串转换成utf-8格式就可以了,然后可以在re中随意调用
unicode中中文的编码为/u4e00-/u9fa5,因此正则表达式u”[\\u4e00-\\u9fa5]+”可以表示一个或者多个中文字符
>>> import re
>>> s='中文:123456aa哈哈哈bbcc'.decode('utf8')
>>> s
u'\\u4e2d\\u6587\\uff1a123456aa\\u54c8\\u54c8\\u54c8bbcc'
>>> print s
中文:123456aa哈哈哈bbcc 。

以上是关于怎么用python依据多个关键词提取Excel里关键词所在的整行内容?的主要内容,如果未能解决你的问题,请参考以下文章

excel如何提取所需关键字所在行?

如何快速提取EXCEL中关键字相同的行,如查找包含100的行

怎么用python+openpyxl提取txt文本数据到excel?

Excel提取设定的多个关键字段

在EXCEL中,如何根据关键字批量提取单元格所在行的内容?

如何SQLite 多个关键字匹配查询