gpt4 book ai didi

python - 尝试在Python中使用 docutils.parsers.rst.tableparser

转载 作者:行者123 更新时间:2023-11-30 23:17:29 24 4
gpt4 key购买 nike

我想使用Python docutils.parsers.rst.tableparser 包中的解析器来获取明文表并轻松解析它。 tableparser可以读取的表格格式对于我的项目来说非常方便。

问题是,尽管文档说 parse(block) 函数的输入是“文本行列表”;没有空格填充”,每当我尝试解析某些内容时都会失败。

一小段代码如下:

import docutils.parsers.rst.tableparser as tbp

parser = tbp.GridTableParser()
parser.parse(['+---+---+', '| a | b |', '| c | d |', '+---+---+'])

将失败并显示以下错误消息:

File "[...]/python2.7/site-packages/docutils/parsers/rst/tableparser.py", line 149, in setup
self.block.disconnect() # don't propagate changes to parent

AttributeError: 'list' object has not attribute 'disconnect'

我一直在尝试在线查找使用此函数的示例,但我无法找到任何关于我需要传递给 的“文本行列表”类型的线索>parse() 函数?

最佳答案

经过一些源代码浏览后,我发现它似乎正在工作:)

from docutils.parsers.rst import tableparser
from docutils import statemachine

parser = tableparser.GridTableParser()
block = statemachine.StringList([
'+---+---+',
'| a | b |',
'| c | d |',
'+---+---+',
])
print parser.parse(block)

结果:

(
[3, 3],
[],
[[
(0, 0, 1, StringList(['a', 'c'], items=[(None, 1), (None, 2)])),
(0, 0, 1, StringList(['b', 'd'], items=[(None, 1), (None, 2)])),
]],
)

关于python - 尝试在Python中使用 docutils.parsers.rst.tableparser,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27277340/

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