python-3.x - 如何拆分网络抓取的列名?
问题描述
嘿,我实际上正在对口袋妖怪数据进行网络抓取分析。所以我有以下代码:
pokemon='https://pokemondb.net//pokedex/bulbasaur'
tables = pd.read_html(requests.get(pokemon, headers={'User-agent': 'Mozilla/5.0'}).text)[-2].T
tables.columns = tables.iloc[0]
tables=tables.drop(tables.index[0])
tables
这给了我这样的东西: 带有口袋妖怪位置的列
现在我想要的是为不同的游戏拆分的列,例如,RedBlue 将分别是 Red 和 Blue,RedBlue 的相同数据显示为 Red 和 blue 单独的列。我想我可以在抓取数据时做到这一点,但我不知道该怎么做。
我在下面附上了与数据相关的 html 标签的屏幕截图。我认为红色和蓝色可以分开,因为它们之间有一个“&”。我该怎么做呢?
解决方案
在这种情况下,您应该按列迭代:
(Pdb) tables.columns
Index(['RedBlue', 'Yellow', 'GoldSilverCrystal', 'RubySapphire',
'FireRedLeafGreen', 'Emerald', 'DiamondPearlPlatinum',
'HeartGoldSoulSilver', 'BlackWhiteBlack 2White 2', 'XY',
'Omega RubyAlpha Sapphire', 'SunMoon', 'Ultra SunUltra Moon',
'Let's Go PikachuLet's Go Eevee', 'SwordShield'],
并创建一个特殊的逻辑,如:
for column in tables.columns:
if column = "RedBlue":
# create new columns
由于您没有任何特殊字符分隔字符串,因此很难为所有列创建逻辑
推荐阅读
- excel - 将时间戳和名称添加到修改的行
- excel - Excel 在运行 VBA 代码时不断崩溃
- vba - 如何防止事件处理程序对任务进行本地资源分配?
- amazon-web-services - 使用 boto3 用标签值描述图像(AMI)
- heroku - 使用 Heroku Scheduler 或在 Web 界面控制台中运行“heroku ps:restart”会显示“heroku: command not found”
- react-native - 布局道具中分配尺寸和百分比属性的区别
- linux - 我从条中收到此错误消息:[.gnu.build.attributes]: 损坏的 GNU 构建属性注释:错误的注释类型:错误的值
- php - 使用 PHP 函数翻译图像文件名以服务它
- java - 将 Springboot 应用程序制作成 maven 插件
- javascript - 根据 Firestore 中的开始日期和结束日期查询创建的字段,即时间戳