我在网上通过Python的Beautiful Soup库抓取了一些数据。关于如何将数据转换为Pandas DataFrame的方法有很多,我很好奇,哪种方法最有效?
我最终为每个项目创建了一个字典,并将每个项目添加到列表中。这是我的代码:
value_list = []
# iterate through all files
for filename in os.listdir(directory):
if filename.endswith(".html"):
file = open(directory + "//" + filename)
soup = bs4.BeautifulSoup(file)
rank = soup.findAll('div', attrs={'class':'rank'})
value1 = soup.findAll('a', attrs={"class": "things"})
value2 = soup.findAll('span', attrs={'class':'blah'})
value3 = soup.findAll('span', attrs={'class':'stuff'})
for i in range(len(rank)):
vaule_dict = {'Rank': int(rank[i].text.strip()),
'V1': value1[i].text.strip(),
'V2': value2[i].text.strip(),
'V3': value3[i].text.strip()}
value_list.append(value_dict)
df = pd.DataFrame(value_list)
是否会有更有效的方法来执行此操作,或者此方法是否合理?