【发布时间】:2020-08-06 06:46:59
【问题描述】:
我有一个带有这样字符的 pandas 数据框列(应该是字典,但在抓取到 CSV 后变成了字符串):
{"id":307,"name":"Drinks","slug":"food/drinks"...`
我正在尝试提取“名称”的值,因此在本例中为“饮料”。
我现在的代码(如下所示)不断为整个数据帧输出 NaN。
df['extracted_category'] = df.category.str.extract('("name":*(?="slug"))')
我的正则表达式有什么问题?谢谢!
【问题讨论】:
-
这将获得第 1 组
"name":"([^"]+)"中名称的值,但是您可以将其解析为 json 并获取键名称的值吗? -
您好,我认为您不需要像
?=那样的前瞻性子句。取而代之的是,您可以更新您的正则表达式并尝试这个:("name":*("\w*"))。测试regex101.com/r/xdHD8t/2