从Excel电子表格导入数据到Django模型

20

我正在构建一个具有Django后端的网站。我希望能够从数据库中提供医疗账单数据,而Django可以访问该数据库。然而,我们收到的所有数据都在Excel电子表格中。因此,我一直在寻找一种方法来获取电子表格中的数据,然后将其导入到Django模型中。我知道有一些不同的Django包可以做到这一点,但我很难理解如何使用这些包。此外,我正在为这个项目使用Python 3。过去我已经使用win32com进行过Excel自动化处理。我可以编写一个函数来从电子表格中获取数据。但我想知道的是,我该如何将数据写入Django模型?欢迎提供建议。


2
你尝试过什么吗?每个Django包都有一些基本文档,根据你的需求阅读代码。如果你遇到任何错误,请更新你的问题并附上代码和错误回溯,我们很乐意帮助你。 - Ravi Kumar
我已经查看了我一直在关注的Django包的文档。虽然我不知道如何将数据导入模型。 - TechEmperor95
有人能建议一下正确的验证方法吗?从Excel中提取数据到模型表单并进行验证检查? - RL Shyam
3个回答

17

使用 http://www.python-excel.org/,并考虑以下步骤:

  1. 创建一个视图,用户可以在其中上传xls文件。
  2. 使用 xlrd 打开文件。xlrd.open_workbook(filename)
  3. 提取数据,创建字典以映射要在数据库中同步的数据。
  4. 使用模型添加、更新或删除信息。

如果按照此过程进行操作,您可以学习有关加载和提取工作原理以及如何与要求配合使用的知识。我建议您首先在 shell 中完成第 2 步和第 3 步,以获得更快的实验体验,并避免在 Django 视图中上传/测试/出错。

希望这个起点对您有所帮助。


你好,你能推荐一个教程来指导这些操作吗? - Tms91
1
请阅读整个文档,然后再次阅读,这次要尝试使用Python Shell进行实验:https://xlsxwriter.readthedocs.io/ - panchicore

12

为什么不使用django-import-export呢?

它是一个小部件,允许您从管理部分导入Excel文件。

它非常容易安装,您可以在这里找到安装教程,以及这里的示例


5
Excel电子表格保存为.csv文件,有很多关于如何处理它们的示例和解释,比如这里这里,已经在线上了。
一般来说,如果你难以理解文档或软件包,我的建议是搜索具体的示例,或者看看是否已经有人做过你想做的事情。尝试操作它以获得工作原理的理解,然后修改它以适应你的需求。

Excel表格通常使用.xlsx文件格式。CSV不是真正的电子表格,只是Excel支持在电子表格界面中编辑它们。 - Technichor

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接