使用Python进行网络抓取时如何删除熊猫数据框中的字符?

缺口

我正在尝试使用Python 3将本网站的表格从.csv文件中抓取到:2011-2012 NBA国家赛程

该表开始如下:

                Revised Schedule                    Original Schedule

Date            Time      Game                Net   Time      Game                  Net
Sun., 12/25/11  12 PM     BOS (1) at NY (1)   TNT   12 PM     BOS (7) at NY (7)     ESPN
Sun., 12/25/11  2:30 PM   MIA (1) at DAL (1)  ABC   2:30 PM   MIA (8) at DAL (5)    ABC
Sun., 12/25/11  5 PM      CHI (1) at LAL (1)  ABC   5 PM      CHI (6) at LAL (9)    ABC
Sun., 12/25/11  8 PM      ORL (1) at OKC (1)  ESPN  no game   no game               no game
Sun., 12/25/11  10:30 PM  LAC (1) at GS (1)   ESPN  no game   no game               no game
Tue., 12/27/11  8 PM      BOS (2) at MIA (2)  TNT   no game   no game               no game
Tue., 12/27/11  10:30 PM  UTA (1) at LAL (2)  TNT   no game   no game               no game

我只对前四列的修订时间表感兴趣。我想要的.csv文件中的输出如下所示:

在.csv文件中输出

我正在使用这些软件包:

import re
import requests
import pandas as pd
import numpy as np
from bs4 import BeautifulSoup
from itertools import groupby

这是我为匹配所需格式所做的代码:

df = pd.read_html("https://www.sportsmediawatch.com/2011/12/revised-2011-12-nba-national-tv-schedule/", header=0)[0]

revisedCols = ['Date'] + [ col for col in df.columns if 'Revised' in col ]
df = df[revisedCols]

df.columns = df.iloc[0,:]

df = df.iloc[1:,:].reset_index(drop=True)


# Format Date to m/d/y
df['Date'] = np.where(df.Date.str.startswith(('10/', '11/', '12/')), df.Date + ' 11', df.Date + ' 12')
df['Date']=pd.to_datetime(df['Date'])
df['Date']=df['Date'].dt.strftime('%m/%d/%Y')

# Split the Game column
df[['Away','Home']] = df.Game.str.split('at',expand=True)   


# Final dataframe with desired columns
df = df[['Date','Time','Away','Home','Net']]

df.columns = ['Date', 'Time', 'Away', 'Home', 'Network']

print(df)

输出:

           Date      Time      Away        Home Network
0    12/25/2011     12 PM   BOS (1)      NY (1)     TNT
1    12/25/2011   2:30 PM   MIA (1)     DAL (1)     ABC
2    12/25/2011      5 PM   CHI (1)     LAL (1)     ABC
3    12/25/2011      8 PM   ORL (1)     OKC (1)    ESPN
4    12/25/2011  10:30 PM   LAC (1)      GS (1)    ESPN
5    12/27/2011      8 PM   BOS (2)     MIA (2)     TNT
6    12/27/2011  10:30 PM   UTA (1)     LAL (2)     TNT

我注意到客队和主队列中的每个球队名称旁边都有(1),(2)等。如何实施刮板程序删除“客队”和“主场”列中每个队名旁边的(1),(2)等?

我想要一片T骨牛排

您可以str.replace将括号和数字一起使用str.strip而且看起来在开始或结尾处都有一些空格:

df['Away'] = df['Away'].str.replace('\(\d*\)', '').str.strip()
df['Home'] = df['Home'].str.replace('\(\d*\)', '').str.strip()
print (df.head())
         Date      Time Away Home Network
0  12/25/2011     12 PM  BOS   NY     TNT
1  12/25/2011   2:30 PM  MIA  DAL     ABC
2  12/25/2011      5 PM  CHI  LAL     ABC
3  12/25/2011      8 PM  ORL  OKC    ESPN
4  12/25/2011  10:30 PM  LAC   GS    ESPN

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用python-requests进行网络抓取时如何获取丢失的HTML数据

如何将网络抓取的数据正确放置到熊猫数据框中?

如何在使用python进行网络抓取时访问类HTML中的特定对象

如何从熊猫数据框中的多个列中删除字符?

如何从熊猫数据框中删除转义字符(反斜杠“\”)

如何从熊猫数据框中删除带括号的特殊字符

如何在熊猫数据框中删除特殊字符

使用python进行网络抓取中的“AttributeError”

使用熊猫从数据框中删除部分字符串

如何将网络抓取的数字放入自动刷新时添加到数据框中的数据框中

如何使用熊猫从数据框中删除多列?

如何使用循环从多个熊猫数据框中删除列?

如何使用Python以升序对熊猫数据框进行排序

熊猫数据框中的多个输出(Python Web抓取)

从数据框熊猫python中删除示例

如何在使用python进行网络抓取时解码[email \ xa0protected]

尝试使用rvest进行网络抓取时,如何修复'UseMethod(“ xml_find_all”)中的错误

Python,当括号之间有字符串时,如何删除数据框列中的括号

使用mysql连接器python将值插入数据库中,进行网络抓取

使用python进行网络抓取并将数据传输到excel中

如何从python抓取的数据中删除“ \ n”?

如何替换熊猫数据框中的字符?

如何删除熊猫数据框中具有特定字符的子字符串?

使用字典替换字符串,而不删除熊猫数据框中的字符

如何在Python中插入Cookie以进行网络抓取?

如何从 Python 数据框列名中删除逗号或任何字符

如何使用 stringi 包删除数据框中的字符?

如何从熊猫数据框中的字符串项中删除数字

如何从熊猫数据框中的列中删除非数字字符