下面给出详细的实例教程,内容包含以下两部分:
- Python获取页面表格数据
- 将表格数据存放到CSV文件中
Python获取页面表格数据
要获取页面表格数据,我们需要使用Python中的第三方库pandas
和BeautifulSoup
,其中pandas
用于数据的处理,BeautifulSoup
用于页面数据的解析。下面是示例代码:
import pandas as pd
import requests
from bs4 import BeautifulSoup
# 获取页面数据
url = 'https://sports.qq.com/kbsweb/game.htm?mid=100000:1466464'
resp = requests.get(url)
html = resp.text
# 解析页面数据
soup = BeautifulSoup(html, 'html.parser')
table = soup.find_all('table')[0]
# 将表格数据转换成列表
data = []
rows = table.find_all('tr')
for row in rows:
cols = row.find_all('td')
cols = [ele.text.strip() for ele in cols]
data.append([ele for ele in cols if ele])
# 使用pandas将列表转换成DataFrame
df = pd.DataFrame(data)
# 打印整个DataFrame
print(df)
在以上示例代码中,我们使用requests
库获取了腾讯体育网站中的足球比赛数据,然后使用BeautifulSoup
库将页面数据解析成HTML文档,并从HTML文档中获取表格数据。接下来,我们使用pandas
库将表格数据转换成DataFrame格式,并最终打印整个DataFrame。
将表格数据存放到CSV文件中
将表格数据存放到CSV文件中,可以使用pandas
库提供的to_csv()
方法。该方法将DataFrame格式的数据写入到CSV文件中。下面是示例代码:
import pandas as pd
import requests
from bs4 import BeautifulSoup
# 获取页面数据
url = 'https://sports.qq.com/kbsweb/game.htm?mid=100000:1466464'
resp = requests.get(url)
html = resp.text
# 解析页面数据
soup = BeautifulSoup(html, 'html.parser')
table = soup.find_all('table')[0]
# 将表格数据转换成列表
data = []
rows = table.find_all('tr')
for row in rows:
cols = row.find_all('td')
cols = [ele.text.strip() for ele in cols]
data.append([ele for ele in cols if ele])
# 使用pandas将列表转换成DataFrame,并将数据存放到CSV文件
df = pd.DataFrame(data)
df.to_csv('data.csv', index=False)
在以上示例代码中,我们使用to_csv()
方法将数据存放到CSV文件中。其中index=False
表示不需要输出行索引。最终,我们得到了一个名为data.csv
的CSV文件,其中包含了足球比赛的表格数据。
希望本篇文章可以帮助你理解“python获取页面表格数据存放到csv中的方法”。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python 获取页面表格数据存放到csv中的方法 - Python技术站