使用BeautifulSoup爬取数据后如何为pandas DataFrame设置列名
解决方法
你当前爬取生成的temp列表中每个子元素刚好按顺序对应街道地址、城市、州及邮编三个字段,直接在创建DataFrame时指定columns参数即可完成列命名,修改方案如下:
核心修改代码
将原有代码里的df = pd.DataFrame(temp)替换为以下内容即可:
# 直接指定对应列名 df = pd.DataFrame(temp, columns=['address', 'City', 'state']) # 可选优化:去除城市字段末尾多余的逗号和空格 df['City'] = df['City'].str.replace(r',$', '', regex=True).str.strip()
原理解释
你遍历网页<p>标签提取的stripped_strings返回的三个字符串顺序正好匹配你需要的三个字段,构造DataFrame时传入列名列表即可直接完成对应赋值,无需额外调整数据结构。修改后打印df即可看到列名已按要求设置。
内容的提问来源于stack exchange,提问作者Amen Aziz
相关产品推荐
相关产品推荐

