【发布时间】:2023-05-22 07:03:01
【问题描述】:
我开发了一个网站,其中的页面只是 html 表格。我还通过扩展 python 的SimpleHTTPServer 开发了一个服务器。现在我正在开发我的数据库。
每个页面上的大部分表格内容都是静态的,不需要触摸。但是,每个表(即页面)有一列需要可编辑和存储。这些值只是用户可以输入的文本。用户通过html textareas 输入文本,这些文本通过javascript 附加到表格中。
数据库将存储键/值对,其中值是用户输入的文本(至少目前如此)。
现状
因为我网页的原始格式是 xlsx 文件,所以我选择使用 excel 工作簿作为我的数据库,它基本上只是反映了显示的 web html 表(页面)。
我通过win32com 连接到excel 工作簿。每次加载表(页面)时,javascript 都会遍历 html 文本区域并向服务器发送一个单独的请求,以从数据库中加载相应的文本。
目前这种方法有效,但速度非常慢。我已尽我所能优化一切,我相信速度限制是win32com 的直接后果。
因此,我看到了四种可能的方法:
- 用
xlrd替换我当前的win32com功能 - 尝试通过使用
win32com的一次服务器调用数据库一次加载表(页面)的所有html 文本区域 - 切换到
sql之类的东西(可能使用 mysql,因为它足够简单且足够强大,可以满足我的需求) - 使用
xlrd,但对每个表(页)的服务器进行一次调用,如 (2) 所示
我构建此功能的时间表大约是两天。
有人对这些方法的编码时间与速度之间的权衡有什么想法吗?如果有人想到任何更好/更简化的方法,请分享!
【问题讨论】:
-
Excel 不是数据库。不要那样使用它。你未来的自己会感谢你的。
标签: python mysql excel win32com xlrd