我正试图提取这个wikipedia link中的表,用于我正在尝试的一个顶点项目
不幸的是,我遇到了以下错误:
ValueError: 5 columns passed, passed data had 9 columns
代码:
url =requests.get('https://en.wikipedia.org/wiki/List_of_Glasgow_Subway_stations').text
soup = BeautifulSoup(url, 'lxml')
print(soup.prettify())
arrond_table = soup.find('table', class_='wikitable sortable')
arrond_table_rows = arrond_table.find_all('tr')
information = []
for row in arrond_table_rows:
info = row.text.split('\n')[1:-1]
information.append(info)
del information[0][1::2]
information
arrond_df = pd.DataFrame(information[2:],columns = information[0])
arrond_df.head(10)
pd.DataFrame()
要求数据和列名之间的列数相同,否则将抛出ValueError
说到你的问题
该错误清楚地表明您的数据(
information[2:]
)总共有9列,但您提供的列名(columns=information[0]
)只有5列确保为数据提供足够的列名
换句话说,以下条件应适用
相关问题 更多 >
编程相关推荐