如何解决Python 抓取表的所有列,但我只想查看其中一列
我正在使用 Python 从 Ballotpedia (https://ballotpedia.org/List_of_current_members_of_the_U.S._Congress) 中抓取美国国会的名称。我当前的代码为我提供了两个表(参议院和众议院)中每一个的所有四列。这是我当前的代码:
import requests
from bs4 import BeautifulSoup
import pandas as pd
list = ['https://ballotpedia.org/List_of_current_members_of_the_U.S._Congress']
all_tables = pd.read_html(list[0])
senators = all_tables[3]
house_members = all_tables[6]
congress = senators.append(house_members)
congress.to_csv('3-New Congressmen.csv')
显然,我一直在尝试使用第 7-10 行,但不喜欢只获取立法者姓名的方法。我只对姓名栏感兴趣。
是我忽略了 Ballotpedia 页面的检查功能的错误吗?还是需要额外的一行代码来指定我想要的列?非常感谢您的帮助!
解决方法
要仅获取立法者的姓名,您可以:
import pandas as pd
url = "https://ballotpedia.org/List_of_current_members_of_the_U.S._Congress"
dfs = pd.read_html(url)
legislators_df = dfs[3]["Name"]
house_members = dfs[6]["Name"]
pd.concat([legislators_df,house_members]).to_csv("out.csv",index=False)
创建out.csv
:
0 Richard Shelby
1 Tommy Tuberville
2 Lisa Murkowski
3 Daniel S. Sullivan
4 Mark Kelly
5 Kyrsten Sinema
6 John Boozman
7 Tom Cotton
8 Dianne Feinstein
9 Alex Padilla
10 Michael Bennet
...
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。