gpt4 book ai didi

python - 一旦所有页面都循环并将值附加到我的列表中,如何将抓取的值存储到数据框中?

转载 作者:行者123 更新时间:2023-12-01 08:46:48 25 4
gpt4 key购买 nike

目前,我的数据帧正在打印 2 个数据帧,但我希望它只是一个数据帧,其中包含从 omp_name_lists 和 comp_ rating_lists 传递的所有值。我知道该函数正在逐页传递值,所以我想知道如何告诉 python 等待所有页面值追加,然后 create_dataframe

def get_data(get_comp_name,get_comp_rating):


comp_name_lists, comp_rating_lists = [],[]
for i, v in zip(get_comp_name, get_comp_rating):
comp_name_lists.append(i.a.text)
comp_rating_lists.append(v.text)

return create_dataframe(comp_name_lists,comp_rating_lists)

def create_dataframe(comp_name_lists,comp_rating_lists): # This is where
"""This gets all of our data that we scraped and stores into a pandas dataframe"""
df = pd.DataFrame({'CompanyName' : comp_name_lists, 'CompanyRating' : comp_rating_lists})
df = df.reset_index(drop=True)
print(df)

所需输出:

  A              B
0 a 3
1 b 7
2 c 1
3 d 2
4 e 8
5 f 9
6 g 7
7 h 8

最佳答案

如果你想成为一个包含所有值的数据框,那么你应该有一个全局变量 因为它不会重新初始化,除非您重新启动脚本。如果你通过return create_dataframe(comp_name_lists,comp_ rating_lists)传递值,它将创建一个独立于其他空间的新空间,并且 df 的值为空,这意味着你不能以这种方式完成你期望的事情。根据我的考虑,在完成获取数据后创建一个数据框

resultset = {'CompanyName' : [], 'CompanyRating' : []}

def get_data(get_comp_name,get_comp_rating):


comp_name_lists, comp_rating_lists = [],[]
for i, v in zip(get_comp_name, get_comp_rating):
comp_name_lists.append(i.a.text)
comp_rating_lists.append(v.text)

resultset["CompanyName"] += comp_name_lists
resultset["CompanyRating"] += comp_rating_lists

def create_dataframe(data): # This is where
"""This gets all of our data that we scraped and stores into a pandas dataframe"""
df = pd.DataFrame(data)
df = df.reset_index(drop=True)
print(df)

关于python - 一旦所有页面都循环并将值附加到我的列表中,如何将抓取的值存储到数据框中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53269411/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com