首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >熊猫数据

熊猫数据
EN

Stack Overflow用户
提问于 2015-02-18 08:59:43
回答 1查看 763关注 0票数 4

我想用熊猫数据表示数据,列名-产品标题和填充t。

例如:

产品标题

漫威:电影收藏

漫威

迪尼电影等等。

代码语言:javascript
复制
import requests
from bs4 import BeautifulSoup
import csv
import pandas as pd

r= requests.get("http://www.walmart.com/search/?query=marvel&cat_id=4096_530598")
r.content
soup = BeautifulSoup(r.content)

g_data = soup.find_all("div", {"class" : "tile-conent"})
g_price = soup.find_all("div",{"class" : "item-price-container"})
g_star = soup.find_all("div",{"class" : "stars stars-small tile-row"})

for product_title in g_data:
   a_product_title = product_title.find_all("a","js-product-title")
   for text_product_title in a_product_title : 
      t = text_product_title.text  
      print t 

期望输出-

代码语言:javascript
复制
Product Title : 


Marvel Heroes: Collection      
Marvel: Guardians Of The Galaxy (Widescreen)    
Marvel Complete Giftset (Widescreen)    
Marvel's The Avengers (Widescreen)    
Marvel Knights: Wolverine Versus Sabretooth - Reborn (Widescreen)    
Superheroes Collection: The Incredible Hulk Returns / The Trial Of The Incredible Hulk / How To Draw Comics     The Marvel Way (Widescreen)
Marvel: Iron Man & Hulk - Heroes United (Widescreen)    
Marvel's The Avengers (DVD + Blu-ray) (Widescreen)     
Captain America: The Winter Soldier (Widescreen)    
Iron Man 3 (DVD + Digital Copy) (Widescreen)    
Thor: The Dark World (Widescreen)    
Spider-Man (2-Disc) (Special Edition) (Widescreen)    
Elektra / Fantastic Four / Daredevil (Director's Cut) / Fantastic Four 2: Rise Of The Silver Surfer
Spider-Man / Spider-Man 2 / Spider-Man 3 (Widescreen)    
Spider-Man 2 (Widescreen)    
The Punisher (Extended Cut) (Widescreen)    
DC Showcase: Superman / Shazam!: The Return Of The Black Adam
Ultimate Avengers: The Movie (Widescreen)    
The Next Avengers: Heroes Of Tomorrow (Widescreen)    
Ultimate Avengers 1 & 2 (Blu-ray) (Widescreen) 

我厌倦了附加功能和加入,但它的作用..。我们在熊猫的数据中有什么特殊的功能吗?

所需的输出应该是使用Pandas dataframe的结果。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-02-18 10:11:45

这将帮助您开始,将所有的标题提取到一个dict中(为了方便起见,我使用了defaultdict ):

代码语言:javascript
复制
In [163]:

from collections import defaultdict
data=defaultdict(list)
for product_title in g_data:
    a_product_title = product_title.find_all("a","js-product-title")
    for text_title in a_product_title:
        data['Product title'].append(text_title.text)


df = pd.DataFrame(data)
df
Out[163]:
                                        Product title
0                           Marvel Heroes: Collection
1        Marvel: Guardians Of The Galaxy (Widescreen)
2                Marvel Complete Giftset (Widescreen)
3                  Marvel's The Avengers (Widescreen)
4   Marvel Knights: Wolverine Versus Sabretooth - ...
5   Superheroes Collection: The Incredible Hulk Re...
6   Marvel: Iron Man & Hulk - Heroes United (Wides...
7   Marvel's The Avengers (DVD + Blu-ray) (Widescr...
8    Captain America: The Winter Soldier (Widescreen)
9        Iron Man 3 (DVD + Digital Copy) (Widescreen)
10                  Thor: The Dark World (Widescreen)
11  Spider-Man (2-Disc) (Special Edition) (Widescr...
12  Elektra / Fantastic Four / Daredevil (Director...
13  Spider-Man / Spider-Man 2 / Spider-Man 3 (Wide...
14                          Spider-Man 2 (Widescreen)
15           The Punisher (Extended Cut) (Widescreen)
16  DC Showcase: Superman / Shazam!: The Return Of...
17          Ultimate Avengers: The Movie (Widescreen)
18  The Next Avengers: Heroes Of Tomorrow (Widescr...
19     Ultimate Avengers 1 & 2 (Blu-ray) (Widescreen)

因此,您可以修改这个脚本以添加价格和参与者作为数据块的键,然后从生成的dict中构造df,这将比一次追加一行更好。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28579535

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档