Python如何提取链接中指定起止字符间的ID并存入新列
Python实现IMDb ID提取方案
我们直接用pandas搭配正则表达式实现需求,代码可直接运行:
- 第一步:导入依赖库
import pandas as pd
- 第二步:定义提取逻辑,新增ID列
核心用正则匹配tt之后、第一个/之前的数字段,转整数自动去除前导零,完全匹配预期输出:
# 假设df是你读取后的数据集,可通过pd.read_excel、pd.read_csv等方法读入本地文件生成 df['ID'] = df['Link'].str.extract(r'tt(\d+)/').astype('Int64')
注:用
Int64(首字母大写)而不是默认int类型,可以兼容匹配不到的空值场景,不会触发报错。如果你的数据集所有链接都符合格式规范,直接用int也可以。
- 完整测试示例(用你提供的样例数据验证)
# 构造样例数据集 data = { 'Movie': ['movie 1'], 'Link': ['http://www.imdb.com/title/tt0114709/?ref_=fn_tt_tt_1'] } df = pd.DataFrame(data) # 提取ID df['ID'] = df['Link'].str.extract(r'tt(\d+)/').astype(int) print(df)
运行后输出和你给出的预期结果完全一致。
内容的提问来源于stack exchange,提问作者Srikanth Ayithy
相关产品推荐
相关产品推荐

