繁体   English   中英

从包含来自 bs4 对象的数据的列表列表中创建一个 Pandas DataFrame

[英]Creating a pandas DataFrame from list of lists containing data from bs4 object

我希望创建一个包含从网站上抓取的数据的 DataFrame。 数据被放入两个列表 - 职位名称和链接到职位申请页面的 URL。 我的目标是将它们传递到一个列表中以创建一个 DataFrame,如https://www.geeksforgeeks.org/different-ways-to-create-pandas-dataframe/ 所示

list_job_titles = []
list_job_URLs = []
for a in soup.find_all('a', href = re.compile("work-placement-internship")):
    URL_from_soup = (a['href'] + " ")
    title_from_soup =(a.text.strip())
    list_job_titles.append(title_from_soup)
    list_job_URLs.append(URL_from_soup)
    time.sleep(0.1)
data = [[list_job_titles],[list_job_URLs]]
df = pd.DataFrame(data, columns=['Job title', 'URL'])

我已经测试了脚本的网络抓取方面,它从站点获取所有所需的信息。 但是,在创建 DataFrame 时,我收到错误消息:

ValueError: 2 列传递,传递的数据有 1 列

然后我尝试传入一列标题:

df = pd.DataFrame(data, columns=['Job title'])

我得到的输出:

职称

0 [一些职位...

1 [ https://someURL ...

知道如何将其分成两列,一列用于标题,另一列用于 URL

干杯

尝试这个:

代替:

df = pd.DataFrame(data, columns=['Job title', 'URL'])

和:

df = pd.DataFrame({"Job title": list_job_titles, "URL": list_job_URLs})

尝试这样的事情:

df = pd.DataFrame({"Job Title": list_job_titles, "Job URLs": list_job_urls})

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM