【发布时间】:2020-03-18 23:30:15
【问题描述】:
我只想拥有价值观。我希望从列中删除“m”和“kg”。 到目前为止,这是我的代码,效果很好。但唯一的问题是“m”和“kg”。任何帮助将不胜感激!
import requests
import time
import csv
from bs4 import BeautifulSoup
from selenium import webdriver
#Main function
def getContent(link):
#Open Browser
browser = webdriver.Chrome()
#Go to link
browser.get(link)
#Pause
time.sleep(3)
#Source
html = browser.page_source
#Soup activate
soup = BeautifulSoup(html,'lxml')
#Find table
table = soup.find_all('table')
table2 = table[1]
#Save in csv
with open('averageheight.csv','w',newline='') as f:
writer = csv.writer(f)
writer.writerow(('Country','Average Height Male','Average Weight Male','Average BMI Male','Average Height Female','Average Weight Female','Average BMI Female'))
for tr in table2('tr')[1:]:
row = [(t.get_text(strip=True)).encode('utf-8') for t in tr(['td','th'])]
writer.writerow(row)
#Close browser
browser.close()
browser.quit()
#Links
getContent('https://www.worlddata.info/average-bodyheight.php')
这是当前的输出
Country,Average Height Male,Average Weight Male,Average BMI Male,Average Height Female,Average Weight Female,Average BMI Female
b'Netherlands',b'',b'1.83 m',b'87.4 kg',b'26.1',b'',b'1.69 m',b'72.3 kg',b'25.3'
第二,第三,第四和第五列额外的'm'和'kg'。那些是我想要替换的。但还没有运气。
【问题讨论】:
-
需要csv数据的例子
标签: python selenium csv selenium-webdriver beautifulsoup