我试图使用以下代码从网页中获取表数据,但出现错误:
ValueError: could not convert string to float: 'False'
在这一行data = (tabulate(df[0], headers='keys', tablefmt='psql') )
import pandas as pd
import requests
from bs4 import BeautifulSoup
from tabulate import tabulate
res = requests.get("http://rerait.telangana.gov.in/PrintPreview/PrintPreview/UHJvamVjdElEPTQmRGl2aXNpb249MSZVc2VySUQ9MjAyODcmUm9sZUlEPTEmQXBwSUQ9NSZBY3Rpb249U0VBUkNIJkNoYXJhY3RlckQ9MjImRXh0QXBwSUQ9")
soup = BeautifulSoup(res.content,'html.parser')
table_data = []
for i in range(len(soup.find_all('table'))):
table = soup.find_all('table')[i]
df = pd.read_html(str(table))
data = (tabulate(df[0], headers='keys', tablefmt='psql') )
print (data)
df_1 = pd.DataFrame(data)
df_1.to_csv('D:/out_table.csv')
错误:
^{pr2}$
这个错误是不言而喻的。不能将字符串} 强制数据帧为数值,用^{cd4>}替换不可转换的值,即是
'False'
转换为float
。您可以通过^{float
:相关问题 更多 >
编程相关推荐