提高在Python中创建HTML表单元格的速度

2024-10-01 13:41:09 发布

您现在位置:Python中文网/ 问答频道 /正文

我继承了一些Python代码,用于创建最多19列宽5000行的表。最初,在屏幕上绘制表格需要9秒,但是I managed to reduce that需要6秒。你知道吗

现在我想进一步优化它。毫无疑问,我已经看到瓶颈是创建单元格内容的部分。代码是:

sText += '<td align="middle">%s</td>' % sCellContents

其中sTextsCellContents是字符串。(格式化单元格内容的样式可能不同。)

如果除去<td></td>标记以外的所有内容,则速度不变,这意味着样式对性能没有影响。但是,如果我删除这些标记(从而将内容放在表外),屏幕将在三秒后显示(当然,格式很糟糕)。你知道吗

有没有办法在保留格式的同时优化那一行?你知道吗

我已经尝试使用列表:

lText.append(sCellContents)

最后连接:

sText = ''.join(lText)

但这没什么区别。你知道吗


Tags: to代码标记reduce内容屏幕格式绘制
2条回答

你应该试试io.StringIO。而是一个流,可能会提高性能。像这样使用:

s_text_stream = io.StringIO()
s_text_stream.write('<td align="middle">%s</td>' % sCellContents)
s_text_stream.seek(0)
s_text = s_text_stream.read()

您可以尝试Mako模板,而无需对现有代码进行太多修改。你知道吗

from mako.template import Template

t = Template('<td align="middle">${content}</td>')

for cell in sCellContents:
    t.render(content=cell)

如果有什么不同的话,看看会有什么不同真的很有趣。你知道吗

相关问题 更多 >