当前使用 Word 表作为数据库——有没有更好的方法?

当前使用 Word 表作为数据库——有没有更好的方法?

我正在为写一本书做关于矿物的研究。我最终需要追踪大约两千种矿物。目前,这项工作由一个约 800 行的 Word 表格完成,其中每一行大致看起来像这张图片https://imgur.com/a/YDvLXxo

我需要的功能是(a)能够根据任意一组列对表格进行排序(b)查看每行的可视缩略图(c)但保留图像的全分辨率副本(d)并能够单击表格条目中的任何活动链接。

目前,Word 文件大小约为 600MB,并且 Word(Office 365 版本)显然开始出现问题(例如,自动保存不再起作用,有时我无法选择文档中的任何内容。)

我目前运行一个 Python 程序,该程序读取 Word 文件并生成 .pdf 文件,因为我需要的输出是将表格的每一行映射到一个输出页面,并适当缩放和定位图片、注释和其他属性。.pdf 文件的大小约为 ~2GB,因此我随后通过 .pdf 文件压缩器运行它,并得到合理的 ~200MB 最终输出。

所以我的问题是,有没有更好的方法可以做到这一点?我确实快速浏览了 Access,但无法弄清楚如何让它处理图片。

我无法真正将 Word 文件拆分成两部分,因为这样会失去排序功能。虽然一旦表格完成,我就不再需要对其进行排序,但我仍在继续向表格中添加条目,排序使我能够检查几种不同的错误类型。

那么,我可以在 Word 中设置一个标志,以安全地允许“大”文件吗?如果是这样,那么有没有办法拥有相同的功能,但每页只有一个矿物,并且使用适当的样式进行格式化?如果没有,我应该切换到其他文档软件吗?(注意:我最初在 Google Docs 中有这个功能,但它不提供排序功能。附加组件提供了排序功能,但每个附加组件在小得多的表格上都以某种方式损坏。)

答案1

如果您仍在使用 Microsoft Office 产品,则应使用 Excel 来执行此应用程序。排序是内置的(见屏幕截图),文件可以直接保存为 PDF,工作表可以有超过 100 万行,多个工作表是标准配置,因此您可以在不同的工作表上将项目分类到不同的类别中。而且我相信可以编写一个 Python 应用程序来从工作簿中读取 Excel 数据。

在此处输入图片描述

答案2

由于你已经熟悉 Python,我强烈建议你将你的项目带到Google 表格谷歌API

  1. 将您的表格复制并粘贴到新的 Google 表格中
  2. 熟悉 Sheets API(API 密钥和身份验证、Python 连接、访问和读取表格)
  3. 扩展你的 Python 脚本以从 Sheets 获取数据并生成 PDF

为 Google Sheets 制作 Python 脚本现在是一项强大的数据科学技能,因为 Google Sheets 非常灵活、高效,并且可以像在线数据库一样工作。

对于初学者来说这是一个不错的视频教程:Google Sheets-Python API,读取和写入数据(YouTube)

干杯!

答案3

简单的答案似乎是 Word 表格具有我需要的功能(每个表格行都根据内容(包括图像)进行调整,排序很容易,单元格内的链接可以正常工作),因此我只需要小心不要超出任何隐藏的文件大小限制。

另一种方法是找到一些其他支持从 Word 准确导入的优秀文档编辑器。

只要 Excel 将单元格中的图像视为对象而不是值,Excel 就无法满足我的目的。

相关内容