2017-03-13 16 views
0

みなさん、文字列を使用してパンダのデータフレームを作成する

データフレーム列「日付」を作成し、列の行にdatetimesを追加しようとしました。 datetimeは、文字列リストに5回ごとに表示されます。

範囲(開始、終了、ステップ)のような何かの方法が良いと思いますが、実際にどのように行われるのでしょうか?ここで

私のコードです:

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

私は学習のために、「width:606px; height:22px; background-color」という行は実際には何をしているのでしょうか? –

+0

@Juho Mスタイル属性です。私はこの文字列を使って各行を配置しました。各行のスタイルが異なるので、私は 're'を使って同じ部分をマッチングさせます。http://www.crummy.com/software/BeautifulSoup/bs4/doc/#a-regular-expression –

関連する問題