将数据从 excel 电子表格导入 django 模型
Posted
技术标签:
【中文标题】将数据从 excel 电子表格导入 django 模型【英文标题】:Import data from excel spreadsheet to django model 【发布时间】:2016-10-27 10:04:30 【问题描述】:我正在构建一个具有 django 后端的网站。我希望能够从 django 可以访问的数据库中提供医疗账单数据。但是,我们收到的所有数据都在 Excel 电子表格中。所以我一直在寻找一种从电子表格中获取数据,然后将其导入 django 模型的方法。我知道有一些不同的 django 包可以做到这一点,但我很难理解如何使用这些包。最重要的是,我在这个项目中使用了 python 3。过去,我在 excel 中使用 win32com 进行自动化处理。我可以编写一个可以从电子表格中获取数据的函数。虽然我想弄清楚的是如何将数据写入 django 模型?任何建议表示赞赏。
【问题讨论】:
你有没有尝试过?每个 django 包都有一些基本的文档阅读和代码根据您的要求。如果您遇到任何错误,请使用代码和错误回溯更新您的问题,我们很乐意为您提供帮助。 我查看了我一直在查看的 django 包的文档。虽然我不知道如何将数据导入模型。 有人可以建议正确的方法来进行验证。从 Excel 中提取数据到模型表单并检查验证? 【参考方案1】:使用http://www.python-excel.org/ 并考虑这个过程:
-
创建一个用户可以上传 xls 文件的视图。
用 xlrd 打开文件。
xlrd.open_workbook(filename)
提取、创建 dict 以映射要在 db 中同步的数据。
使用模型添加、更新或删除信息。
如果您遵循该过程,您可以了解很多加载和提取的工作原理以及它如何符合要求。我建议您首先在 shell 中执行第 2 步和第 3 步,以获得更快的实验,并避免使用 django 视图上传/测试/错误。
希望这个启动基地适合你。
【讨论】:
嗨,你能指出一个你会推荐做这些操作的教程吗? 阅读整个文档,然后再次阅读,但这次尝试使用 python shell xlsxwriter.readthedocs.io【参考方案2】:你为什么不用django-import-export?
这是一个允许您从管理部分导入 excel 文件的小部件。
它很容易安装,在这里你可以找到installation tutorial,在这里你可以找到example。
【讨论】:
【参考方案3】:Excel 电子表格保存为 .csv 文件,网上已经有很多关于如何使用它们的示例和说明,例如 here 和 here。
一般来说,如果您在理解文档或软件包时遇到困难,我的建议是搜索特定示例或查看您尝试做的任何事情是否已经完成。试用它以获得有效的理解,然后对其进行修改以满足您的需求。
【讨论】:
Excel 电子表格通常是 .xlsx 文件格式。 CSV 并不是真正的电子表格,Excel 恰好支持在电子表格界面中编辑它们。以上是关于将数据从 excel 电子表格导入 django 模型的主要内容,如果未能解决你的问题,请参考以下文章
将 Excel 电子表格列导入 SQL Server 数据库