You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中如何将多列表转为单列DataFrame?Selenium爬取数据处理

解决方法

核心需求是按单个用户维度,把所有信息(姓名、所在地、每段工作经历字段、每段教育经历字段)整合成有序条目,最终生成单列DataFrame,以下是具体实现方案:

步骤1:统一整理单用户完整信息

先假设你的爬取数据结构如下(可对应替换成你实际的字段和数据):

# 示例爬取数据
names = ["张三", "李四"]
locations = ["北京市", "上海市"]
# 工作经历:每个元素对应单个用户的多段经历字典列表
work_experiences = [
    [{"公司": "科技公司A", "职位": "后端工程师", "入职时间": "2020-03", "离职时间": "2023-05"},
     {"公司": "互联网公司B", "职位": "技术主管", "入职时间": "2023-06", "离职时间": "至今"}],
    [{"公司": "金融公司C", "职位": "数据分析师", "入职时间": "2021-07", "离职时间": "2024-02"}]
]
# 教育经历:每个元素对应单个用户的多段经历字典列表
education_experiences = [
    [{"学校": "XX大学", "专业": "计算机科学", "入学时间": "2016-09", "毕业时间": "2020-06"}],
    [{"学校": "YY大学", "专业": "应用统计", "入学时间": "2017-09", "毕业时间": "2021-06"},
     {"学校": "ZZ职业学院", "专业": "数学", "入学时间": "2013-09", "毕业时间": "2017-06"}]
]

编写函数将单个用户的所有信息转成有序条目:

def format_user_info(name, location, works, edus):
    info = [name, location]
    # 格式化工作经历并添加
    for idx, work in enumerate(works, 1):
        work_str = f"工作经历{idx}:公司={work['公司']},职位={work['职位']},入职时间={work['入职时间']},离职时间={work['离职时间']}"
        info.append(work_str)
    # 格式化教育经历并添加
    for idx, edu in enumerate(edus, 1):
        edu_str = f"教育经历{idx}:学校={edu['学校']},专业={edu['专业']},入学时间={edu['入学时间']},毕业时间={edu['毕业时间']}"
        info.append(edu_str)
    return info

步骤2:生成单列DataFrame

import pandas as pd

# 收集所有用户的格式化信息
all_user_info = []
for name, loc, work, edu in zip(names, locations, work_experiences, education_experiences):
    user_info = format_user_info(name, loc, work, edu)
    all_user_info.append(user_info)

# 生成单列DataFrame,列名可自定义
df = pd.DataFrame(all_user_info, columns=["个人信息"])

输出示例

最终的单列DataFrame结构如下:

个人信息
['张三', '北京市', '工作经历1:公司=科技公司A...', '工作经历2:公司=互联网公司B...', '教育经历1:学校=XX大学...']
['李四', '上海市', '工作经历1:公司=金融公司C...', '教育经历1:学校=YY大学...', '教育经历2:学校=ZZ职业学院...']

常见问题修正

如果你的转换代码不符合预期,大概率是以下原因:

  • 未按单个用户维度整合数据,直接拼接整个姓名列表、所在地列表等,导致数据错位
  • 未将多段工作/教育经历扁平化为单个条目,保留了字典嵌套结构,导致DataFrame列混乱
  • 未保证每个用户的信息顺序统一(姓名→所在地→工作经历→教育经历)

你只需将爬取数据替换成示例结构,调整format_user_info函数中的字段名(匹配你实际的字典字段)即可解决问题。

内容的提问来源于stack exchange,提问作者Jesper Ezra

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 08:12:33