0

我正在使用 Python3 从语言语料库中计算一些统计数据。到目前为止,我将结果导出到 csv 文件或直接在 shell 上。几天前我开始学习如何将数据输出到 html-tables。我必须说我真的很喜欢它,它处理了单元格和 unicode 的完美高度/宽度,您可以将颜色应用于不同的值。虽然我认为在处理大数据或表时存在一些问题。

无论如何,我的问题是,我不确定是否应该继续朝这个方向发展并将结果输出到 html。在这个领域有经验的人可以帮助我了解使用 html 作为输出的利弊吗?

4

2 回答 2

3

为什么不两者都做?将您的数据以 CSV 格式提供(用于简单导出到脚本等)并提供经过修饰的 HTML 版本。

在某个阶段,您可能想要(比如说)一个合适的 Excel 工作表、PDF 等。所以我会强制将数据生成与渲染分开。让你的生成器返回一个抽象渲染器可以使用的结构,你的具体实现将呈现 CSV、PDF、HTML 等。

于 2012-11-13T10:05:47.020 回答
1

该问题列出了 HTML 格式的一些好处。仅这些就足以将其用作一种输出格式。使用这种方式,您不能轻松地使用 HTML 格式做的事情并不重要,因为您可以根据需要使用其他格式。

好处包括合理的默认渲染,可以使用 CSS 以多种方式进行微调,可能使用备用样式表(现在甚至被 IE 支持)。您还可以包含链接。

在没有脚本的情况下,您在 HTML 中不能做的是计算、排序、重新排序,诸如此类。但是它们可以通过 JavaScript 添加——不是微不足道的,而是可行的。

大型表格存在技术难题:默认情况下,浏览器只有在获取、解析和处理整个表格后才会开始显示表格中的任何内容。这可能会导致几秒钟的延迟。解决此问题的一种方法是使用在表格列上table-layout: fixed设置特定宽度的固定布局(emch

另一个困难是坏的换行符。使用 CSS(或 HTML)很容易解决这个问题,但作者经常忽略这个问题,导致例如像“10 m”这样的单元格内容被分成两行。

在 HTML 中格式化统计数据的其他常见问题包括:

  • 未将数字字段向右对齐。
  • 使用衬线字体。
  • 使用并非所有数字都具有相同宽度的字体。
  • 使用不明显的连字符“-”插入正确的 Unicode 减去“-”(U+2212, −)。
  • 没有以某种合理的方式指示缺失值,使一些单元格为空。(浏览器可能会以奇怪的方式处理空单元格。)
  • 水平填充不足,使单元格内容(几乎)命中单元格边框或单元格背景边缘。

此类问题有很好且相当简单的解决方案,因此这只是在使用 HTML 作为输出格式时需要注意的一点,而不是反对它的论据。

于 2012-11-13T11:00:38.517 回答