gpt4 book ai didi

python - 如何将 Wikipedia wikitable 转换为 Python Pandas DataFrame?

转载 作者:太空狗 更新时间:2023-10-29 18:00:23 25 4
gpt4 key购买 nike

在维基百科中,您可以找到一些有趣的数据进行排序、过滤、......

这是一个 wikitable 的示例

{| class="wikitable sortable"
|-
! Model !! Mhash/s !! Mhash/J !! Watts !! Clock !! SP !! Comment
|-
| ION || 1.8 || 0.067 || 27 || || 16 || poclbm; power consumption incl. CPU
|-
| 8200 mGPU || 1.2 || || || 1200 || 16 || 128 MB shared memory, "poclbm -w 128 -f 0"
|-
| 8400 GS || 2.3 || || || || || "poclbm -w 128"
|-
|}

我正在寻找一种将此类数据导入 Python Pandas DataFrame 的方法

最佳答案

这是一个使用 py-wikimarkup 的解决方案和 PyQuery从 wikimarkup 字符串中提取所有表格作为 pandas DataFrames,忽略非表格内容。

import wikimarkup
import pandas as pd
from pyquery import PyQuery

def get_tables(wiki):
html = PyQuery(wikimarkup.parse(wiki))
frames = []
for table in html('table'):
data = [[x.text.strip() for x in row]
for row in table.getchildren()]
df = pd.DataFrame(data[1:], columns=data[0])
frames.append(df)
return frames

给定以下输入,

wiki = """
=Title=

Description.

{| class="wikitable sortable"
|-
! Model !! Mhash/s !! Mhash/J !! Watts !! Clock !! SP !! Comment
|-
| ION || 1.8 || 0.067 || 27 || || 16 || poclbm; power consumption incl. CPU
|-
| 8200 mGPU || 1.2 || || || 1200 || 16 || 128 MB shared memory, "poclbm -w 128 -f 0"
|-
| 8400 GS || 2.3 || || || || || "poclbm -w 128"
|-
|}

{| class="wikitable sortable"
|-
! A !! B !! C
|-
| 0
| 1
| 2
|-
| 3
| 4
| 5
|}
"""

get_tables 返回以下数据帧。

       Model Mhash/s Mhash/J Watts Clock  SP                                     Comment
0 ION 1.8 0.067 27 16 poclbm; power consumption incl. CPU
1 8200 mGPU 1.2 1200 16 128 MB shared memory, "poclbm -w 128 -f 0"
2 8400 GS 2.3 "poclbm -w 128"

   A  B  C
0 0 1 2
1 3 4 5

关于python - 如何将 Wikipedia wikitable 转换为 Python Pandas DataFrame?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15724034/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com