如何将维基百科表格的爬取数据转换为字典列表?
解决方案:将维基百科GameCube游戏表格转为字典列表
你的代码已经成功读取到了表格数据,只需要用Pandas内置的to_dict()方法就能快速把每行数据转成字典,最终得到你要的字典列表。下面是完整的优化代码:
import pandas as pd import wikipedia as wp # 获取维基页面的HTML内容 html = wp.page("List_of_GameCube_games").html().encode("UTF-8") # 读取表格(优先取第二个表格,避开目录栏) try: df = pd.read_html(html)[1] except IndexError: df = pd.read_html(html)[0] # 清洗列名:把原始列名转成小写+下划线的格式,方便后续函数调用 # 比如"Release date"变成"release_date" df.columns = [ col.strip().lower().replace(' ', '_').replace('/', '_') for col in df.columns ] # 把DataFrame转成字典列表,每条记录对应一个游戏的字典 games = df.to_dict('records') # 打印前3条数据验证结果 for game in games[:3]: print(game)
关键步骤说明:
df.to_dict('records'):这个参数是核心,它会将DataFrame的每一行转换为一个字典,字典的键就是表格的列名,值是对应单元格的内容,完全符合你需要的格式。- 列名清洗:维基百科的表格列名通常带空格或特殊字符(比如"PAL release date"),转成小写下划线的格式后,在函数中调用
game['pal_release_date']会比game['PAL release date']更顺手,也符合Python的命名习惯。 - 空值处理(可选):如果表格里有空白单元格,会被转为
NaN,你可以在转换前用df = df.fillna('')把空值替换成空字符串,避免后续操作出错。
内容的提问来源于stack exchange,提问作者DejaLukas
相关产品推荐
相关产品推荐

