2017-03-13 53 views
0

大家好,通過使用字符串製作熊貓數據框

我試圖製作數據幀列「日期」並將日期時間添加到列行。日期時間每五秒出現在字符串列表中。

我認爲像範圍(開始,結束,步)什麼方法將是一件好事,但如何在實踐中做什麼?

這裏是我的代碼:

import requests, re, pandas 
from bs4 import BeautifulSoup 

r=requests.get("http://www.hltv.org/?pageid=188&statsfilter=2816&offset=0") 
c=r.content 

soup=BeautifulSoup(c,"html.parser") 


for string in soup.find_all("div",{"class":"covSmallHeadline"})[6:]: 
    print(string.text.replace("(","").replace(")","")) 

這裏是輸出(實際列表大小大):

5/3 17 
Astralis 16 
FaZe 13 
inferno 
IEM Katowice 2017 
5/3 17 
Astralis 16 
FaZe 12 
nuke 
IEM Katowice 2017 
5/3 17 
Astralis 16 
FaZe 12 
overpass 
IEM Katowice 2017 
5/3 17 
FaZe 16 
Astralis 9 
cache 
IEM Katowice 2017 
4/3 17 
Astralis 16 
Heroic 12 
nuke 
IEM Katowice 2017 
4/3 17 
Astralis 16 
Heroic 12 
train 
IEM Katowice 2017 
4/3 17 
Immortals 10 
FaZe 16 
mirage 
IEM Katowice 2017 
4/3 17 
FaZe 16 
Immortals 9 
inferno 
IEM Katowice 2017 
3/3 17 
Natus Vincere 2 
Astralis 16 
nuke 
IEM Katowice 2017 
+0

你可以請說明您希望從輸入中獲得哪種輸出(DataFrame,Series)?我現在不清楚這一點。 – languitar

+0

我試圖讓pandas.DataFrame輸出。 –

回答

1

數據轉換爲CSV第一:

import re 
In [83]: for row in table.find_all('div', style=re.compile(r'width:606px;height:22px;background-color')): 
    ...:  print(row.get_text(strip=True, separator=',')) 


5/3 17,Astralis (16),FaZe (13),inferno,IEM Katowice 2017 
5/3 17,Astralis (16),FaZe (12),nuke,IEM Katowice 2017 
5/3 17,Astralis (16),FaZe (12),overpass,IEM Katowice 2017 
+0

非常感謝! –

+0

我會問,因爲學習的,這行:「寬度:606px;高度:的22px;背景色」實際上呢? –

+0

@Juho M散發的樣式屬性,我使用位於此字符串的每一行。由於各行的風格是不同的,所以我用're',以滿足他們同樣part.https://www.crummy.com/software/BeautifulSoup/bs4/doc/#a-regular-expression –

相關問題