我正试图从维基百科的页面上抓取表格 Link
我在创建数据框时出错,因为当我将每个列按分隔以保存在csv中时,我得到了/n标记
示例:第1行输出为
“,Navi Peth\n,英国政府\n,1818+\n,Navi(马拉地语:新)\n”
我不明白为什么会得到这个\n以及如何删除它。 我认为这是\n我在创建数据帧时出错的结果:
标记数据时出错。C错误:在saw 2的第2行中应该有1个字段
我的代码:
import requests
from bs4 import BeautifulSoup
import pandas as pd
page1 = requests.get('https://en.wikipedia.org/wiki/Peths_in_Pune').text
soup1 = BeautifulSoup(page1, 'lxml')
table = soup1.find('table',{'class':'wikitable sortable'})
#table
table1=""
for tr in table.find_all('tr'):
row1=""
for tds in tr.find_all('td'):
row1=row1+","+tds.text
table1=table1+row1[1:]
row1
“,Navi Peth\n,英国政府\n,1818+\n,Navi(马拉地语:新)\n”
进一步:
file=open("data1.csv","wb")
file.write(bytes(table1,encoding="ascii"))
df = pd.read_csv('data1.csv', header=None)
df
标记数据时出错。C错误:在saw 2的第2行中应该有1个字段
PS:我想要的结果是wiki表的第一列
这只是一个更简单的版本,可以通过pandas read_html方法在df中获取所需的表
对于单次放炮,您可以使用
pandas
read_html
函数执行此操作:输出:view-online
对于第一列:
输出:
现在回到真正的问题:
使用
item.get_text("\n", strip=True)
相关问题 更多 >
编程相关推荐