Paste
Pasted as Python by ignacio ( 7 months ago )
import requests
import pandas as pd
import lxml.html as lh
url = "a page containig COVID-19 data as HTML table"
page = requests.get(url)
doc = lh.fromstring(page.content)
tr_elements=doc.xpath('//tr')
col = []
for t in tr_elements[0]:
name=t.text_content()
name = name.replace(',','|')
col.append((name,[]))
for j in range(1,len(tr_elements)):
T=tr_elements[j]
i=0
for t in T.iterchildren():
data=t.text_content()
if i>0:
try:
data=int(data)
except:
pass
col[i][1].append(data)
i+=1
Dict={title:column for (title,column) in col}
df=pd.DataFrame(Dict)
df.to_csv('COVID_19.csv')
Revise this Paste
Parent: 103827