如何从Pandas DataFrame中去除特殊字符,提取纯净的实际API URL
实现Pandas DataFrame中API URL提取的方法
核心思路是通过正则匹配提取双引号包裹的https开头的真实URL,自动过滤前缀、后缀引号和多余逗号:
完整实现代码
如果你已有现成的DataFrame可跳过模拟数据构造步骤:
import pandas as pd # 模拟你的原始DataFrame结构 data = { "api_url": [ '"url": "https://apis.asia.pntk.cloud/asiaerState",', '"url": "https://apis.asia.pntk.cloud/M6518&=38396885",', '"url": "https://apis.asia.pntk.cloud/=38396885"', '"url": "https://apis.asia.pntk.cloud/518112A",' ] } df = pd.DataFrame(data)
方法1:正则提取(推荐,容错性更高)
直接匹配所有https://开头到下一个双引号之前的内容,就是需要的真实URL:
df['api_url'] = df['api_url'].str.extract(r'(https://[^"]+)', expand=False)
参数说明:expand=False保证返回结果为Series类型,可直接赋值给原列,未匹配到的行将返回NaN。
方法2:冗余内容替换
直接删除固定前缀和后缀冗余字符:
df['api_url'] = df['api_url'].str.replace(r'^"url": "|"[,]?$', '', regex=True)
正则含义:
- 开头的
^"url": "匹配固定前缀,替换为空 - 结尾的
"[,]?$匹配末尾的双引号,以及双引号后可能存在的逗号,替换为空
处理完成后输出df即可得到符合要求的结果。
内容的提问来源于stack exchange,提问作者Dcook
相关产品推荐
相关产品推荐

