1.使用Pandas获取网页中的表格数据并转化为EXCEL电子表格
# 导入NBA球员的薪资数据import pandas as pd
df = pd.DataFrame()
url_list = ['http://www.espn.com/nba/salaries/_/seasontype/4']
for i in range(2, 4):
url = 'http://www.espn.com/nba/salaries/_/page/%s/seasontype/4' % i
url_list.append(url)
for url in url_list:
df = df.append(pd.read_html(url), ignore_index=True)
df = df[[x.startswith('$') for x in df[3]]]
# print(df)
df.to_excel('NBA.xlsx',header=['RK','NAME','TEAM','SALARY'],index=False)
2.数据抽取
# loc属性:以列名和行名作为参数,当只有一个参数时,默认是行名,即抽取整行数据,包括所有列,如df.loc['a']
# iloc属性:以行和列位置索引(即0,1,2...)作为参数,0表示第一行,1表示第二行,以此类推。当只有一个参数时,默认是行索引,即抽取整行数据,包括所有列,如df.iloc[0]
# 抽取一行考试成绩import pandas as pd
pd.set_option('display.unicode.east_asian_width',True)
data = [[110, 105, 99], [105, 88, 115], [109, 120, 130], [112, 115]]
name = ['明日', '七月流火', '高袁圆', '二月二']
columns = ['语文', '数学', '英语']
df = pd.DataFrame(data=data, index=name, columns=columns)
print(df.loc['明日'])
print(df.iloc[0])
语文 110.0
数学 105.0
英语 99.0
Name: 明日, dtype: float64
【抽取多行数据】import pandas as pd
pd.set_option('display.unicode.east_asian_width',True)
data = [[110, 105, 99], [105, 88, 115], [109, 120, 130], [112, 115]]
name = ['明日', '七月流火', '高袁圆', '二月二']
columns = ['语文', '数学', '英语']
df = pd.DataFrame(data=data, index=name, columns=columns)
p