【问题标题】:How to make a html table using python?如何使用python制作一个html表格?
【发布时间】:2020-04-19 11:19:47
【问题描述】:

刚收到大学基础编程课程的任务。 我是一个关于计算机的完整新手。我是大一新生,没有编程经验。

该任务需要制作一个 Python 源代码,该代码将打印一个 html 表格作为输出。 不允许使用模块。

我们介绍了一些基本的 Python 内容,例如 if、for 循环、while、print 等... 但没有学到任何关于在 python 中创建 html 的知识。

我已经在互联网上搜索了几个小时,但所有解决方案似乎都非常先进,而且都涉及使用第三方模块,在我的情况下这是不允许的。

教授知道我们都是新手,所以必须有一种方法可以在没有太多专业知识的情况下做到这一点。

谁能告诉我用python制作html表格的基础知识吗?

就像我只是输入类似的东西

<tr>
        <td> </td>
        <td> </td>
        <td> </td>
        <td> </td>
    </tr>

在python中?基本上不知道从哪里开始。

** 代码的编写方式应该是,当它在 bash shell ($ python file_name.py) 中执行时,它会打印出一个 html 表。

附:我正在使用 vs code 作为 python 的编辑器。

【问题讨论】:

  • 想要的输出是什么???控制台中的 html 文件或 html 代码?
  • ...或来自python cgi的HTML输出...它是否应该打印出一个空表,应该是固定的还是将行数和列数作为参数...或者你应该将一些数据表示为 HTML 表格...这个问题 a) 太宽泛 b) 作业。
  • 欢迎来到 StackOverflow!为了让我们能够提供帮助,您需要更具体地了解输入是什么,想要的输出是什么以及您已经尝试过什么。否则,问题太宽泛,无法正确解决。
  • 代码的编写方式应该是,当它在 bash shell ($ python file_name.py) 中执行时,它会打印出一个 html 表。

标签: python html


【解决方案1】:

我可以想象,不费吹灰之力就能让它变得简单的唯一方法就是写 .html 文件。所以基本上它的 .write 行使用 python 写入 html 文件。如果这是您想要的 - 这是一个简单明了的示例:

from random import randint
with open('table.html', 'w') as html:
    html.write('<table style="border:2px solid black;">\n')
    for i in range(5):
        html.write('<tr>\n')
        for i in range(3):
            html.write(f'<td>{randint(10,150)}</td>\n')
        html.write('</tr>\n')
    html.write('</table>')

"\n" - 用于使您的 Html 文档看起来可读。 Random.randint 模块用于生成数据 - 它的基本简单模块仅用于数据占位符。 为了让表格看起来不错,您可以为 td 添加边框 -

<td style="border:2px solid black;" >(random data)</td>

它看起来像实心的 html/excel 表。

【讨论】:

  • 我也认为唯一的方法就是编写一个 html 文件。但是不使用 random.randint 是否可以做到这一点,因为我想在不使用模块的情况下做到这一点?
  • @flora 正如@EakzIT 所说,random.randint() 仅用于用虚假数据填充表格,当您查看他发布的代码示例时可以看到。
【解决方案2】:

当你在不了解基础知识的情况下寻找复杂问题的解决方案时,你不会通过复制粘贴你不理解的工作示例来学习任何东西,而且你不能期望理解任何东西。

根据您的问题,鉴于您的经验水平,您应该改为搜索 Python tutorial 以掌握该语言。阅读有关合成器、Python 的对象模型和类型层次结构的信息。有了这些知识,您将能够理解documentation,并且您应该能够在不寻找预制解决方案的情况下解决您的问题。

【讨论】:

  • 感谢您的建议,但当我发布问题时,我肯定不是在寻找现成的答案。发完这个之后,我花了一整天的时间思考这个任务以及如何解决它,在网上搜索了一些有用的信息,然后意识到给定的任务很简单。只是我想多了。
  • 由于我们还没有在课堂上讨论任何与 HTML 相关的主题,因此完成这项任务不需要太多复杂的解决方案。看起来这项任务可以通过使用 for 循环、列表、if、print... 等来完成,所有这些我都已经学会并且非常有信心。我现在几乎完成了这项任务,我自己完成了,没有复制粘贴。
  • 我绝对应该花更多时间思考这个问题,然后才能发布任何内容。当我发布这篇文章时,我什至没有完全理解这个任务,所以这绝对是我的错。下次我发布任何内容时,我会尽量考虑周到。
  • @flora 你不需要证明你的问题。 :) 我只是想通过指出为什么您搜索的所有时间可能没有产生任何有用的结果来提供帮助。在 Python 中,除了最基本的功能外,所有功能都由模块提供,如果您不允许导入任何内容,则内置数据类型 open()print() 是您可以使用的一切。
【解决方案3】:

由于我们还没有在课堂上讨论任何与 HTML 相关的主题,因此完成这项任务不需要太多复杂的解决方案。看起来任务可以通过使用 for 循环、列表、if、print... 等来完成,所有这些我都已经学会并且非常有信心。非常感谢所有关心提供帮助和答案的人。

【讨论】:

  • 它必须这样做,因为没有任何模块就没有其他可用的了。
猜你喜欢
  • 2018-12-16
  • 2019-05-17
  • 1970-01-01
  • 2018-01-01
  • 1970-01-01
  • 2011-12-20
  • 2012-10-11
  • 2017-06-23
  • 2022-01-21
相关资源
最近更新 更多