我一直在使用python编写Excel工作表,在该工作表中,我必须使用带有一组字符的列表,仅从列中提取特定值
需要使用列表检查列check中的每个字符,如果匹配,则需要将匹配的值返回到数据帧中,以便进一步分析
输入数据:
text-value
19 Freezeland Lane, United Kingdom BD23 0UN
44 Bishopthorpe Road, United States LL55 1EU
Worthy Lane Denmark, LN11 9LP
88 Carriers Road, Mexico , DG3 1LB
HongKong
预期输出:
text_value
United Kingdom
United States
Denmark
Mexico
HongKong
代码片段:
import pandas as pd
import re
countries=['United Kingdom','Denmark','India','United States','Mexico','HongKong']
df['text_value'] = re.findall(countries, df.text_value)
但它不起作用 还尝试:
if re.compile('|'.join(countries),re.IGNORECASE).search(df['text_value']):
df['text_value']
你可以用
在这里,
Series.str.findall
返回在country_list
列的每个单元格中找到的所有匹配项,以及看起来像(?i)\b(?:Country1|Country2|...)\b
的模式匹配项(?i)
-不区分大小写的内联修饰符选项\b
-单词边界(?:Country1|Country2|...)
-国家名单\b
-单词边界相关问题 更多 >
编程相关推荐