将 CSV 文件导入 Django 模型的最简单方法是什么?

2024-03-14

我正在 DJANGO 中制作一个应用程序来处理很多“问题”。模型中指定了一个问题表,或多或少会有数千个问题。

现在,我手头有一个 Excel 文件,其中包含所有问题,我可以从那里创建一个 CSV 文件。我只需要获取问题表中的 CSV 数据。 最简单的方法是什么?谁能告诉我有什么工具、流程、代码可以做到这一点吗?


A Django管理命令 https://docs.djangoproject.com/en/3.1/howto/custom-management-commands/可能是将这些数据导入数据库的最佳选择。它使您可以访问 Django 的 ORM,同时与请求/响应周期分开。您可以使用 .csv 文件作为参数从命令行调用它。

这是一个简单的例子。

import csv
from django.core.management import BaseCommand
from app.models import Question

class Command(BaseCommand):
    help = 'Load a questions csv file into the database'

    def add_arguments(self, parser):
        parser.add_argument('--path', type=str)

    def handle(self, *args, **kwargs):
        path = kwargs['path']
        with open(path, 'rt') as f:
            reader = csv.reader(f, dialect='excel')
            for row in reader:
                Question.objects.create(
                    attr1=row[0],
                    attr2=row[1],
                )
            

如果您将其另存为app/management/commands/load_questions.py您可以将其调用为:

python manage.py load_questions --path /path/to/your/file.csv
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 CSV 文件导入 Django 模型的最简单方法是什么? 的相关文章

随机推荐

  • Oracle 中满足条件时重置运行总和

    我的数据结构如下 Timestamp Hour Count 20190801 01 1 10 20190801 02 2 20 20190801 03 3 10 20190801 04 4 5 20190801 05 5 15 201908
  • Symfony2 中模型辅助函数的放置位置

    我有以下功能 function array duplicates array duplicates array unique array unique array for i 0 i lt count array i if array ke
  • dplyr 组 - 我需要取消分组吗

    下面是一些利用 dplyr 对 mtcars 数据集中的数据进行分组和传播的简单代码 library dplyr mtcars df lt mtcars gt group by disp cyl gt summarise Qty n mtc
  • 从 Xamarin Forms PCL 中删除 ios、windows8 和 wp8 - nuget 3.0 选择加入错误?

    我正在开发 Xamarin Forms 项目 我想定位 Android 和 Windows 10 UWP 当我尝试通过从 PCL 目标中删除 Windows 8 Windows Phone Silverlight 8 Windows Pho
  • 如何在 Python 上使用 PMML 文件和 Augustus 对线性模型进行评分

    我是 python PMML 和 augustus 的新手 所以这个问题有点新手 我有一个 PMML 文件 我想在每次新的数据迭代后从中评分 我必须使用 Python 和 Augustus 来完成这个练习 我读过各种文章 其中一些值得一提
  • 如何使用 jQuery 只获取 HTML 表格中的可见元素?

    我有以下问题 我有一个表 其中每行都有一些可见的单元格 有些不可见 像这样的东西 table thead thead tbody tr td A td td style display none B td tr tr td C td td
  • Angular 4在子组件中调用父方法

    我想在 Angular 4 的子组件中调用父方法 deletePhone 我怎样才能正确地做到这一点 我的父组件如下所示 export class ContactInfo implements OnInit phoneForm FormGr
  • 使用 Android TV 应用程序的遥控器

    我正在开发 Android 电视应用程序 当我尝试在真正的 Android TV 中测试它时 我无法使用遥控器按钮导航到任何按钮或任何内容 上下左右 我搜索过它 发现我必须使用 启用方向键导航 但我不知道如何使用它 我没有找到任何代码或教程
  • 检查 PyTorch 张量在 epsilon 内是否相等

    如何检查两个 PyTorch 张量在语义上是否相等 考虑到浮点错误 我想知道元素是否仅相差一个小的 epsilon 值 在撰写本文时 这是最新稳定版本 0 4 1 中的一个未记录的函数 但文档位于master unstable branch
  • ant 未被识别为内部或外部命令

    我运行的是带有 Service Pack 3 的 Windows XP Professional 版本 5 1 我已经下载了 JDK 1 6 0 24 b07 并测试了它是否有效 我下载了 apache ant zip 并将其安装到 C a
  • 通过 EWS 和 C# 访问没有邮箱的资源日历

    我们的 Exchange 管理员 Exchange 2010 SP1 设置了共享资源日历 没有分配给该资源日历的邮箱 我希望能够使用 EWS 和 C 阅读会议 Snippet ExchangeService esvc new Exchang
  • 在 Lithium 中调用 MySQL 函数

    如何调用 MySQL 函数 例如GeomFromText or 选择为 在里面锂框架 http www lithify me 增删改查 使用数据库 gt 读取 很不方便 我经常更改数据库列 并且将函数包含在变量的值中只会最终被转义 您是否尝
  • 如何在weblogic.xml中设置X-POWERED-BY?

    这里声明可以设置 X POWERED BY 标头外观 但我看不出有什么方法可以通过weblogic xml 有人知道怎么做吗 一般来说 这些属性可以在集群级别被覆盖 在 ClusterMBean 中 如果那里存在相同的属性 服务器 leve
  • 错误:跳转到标签“foo”与“bar”的初始化交叉

    以下 C 示例无法使用 gcc 或 clang 进行编译 但仅会使用 ICC 生成警告 而使用 MSVC 则不会生成任何警告 int main int argc char argv if argc lt 2 goto clean up if
  • 无法通过 ssms 连接到 azure sql

    我正在尝试通过 SQL Server 2008 R2 SP2 连接 Azure 的 SQL 数据库 我正在使用 Azure 并免费试用订阅 我已经到处搜索并尝试过这些事情 在 Windows 防火墙中允许端口 1433 的入站和出站规则 检
  • Python 3 没有 IDLE 吗?

    我昨天在我的 Windows Vista PC 上安装了 Python 3 1 并惊讶地发现 IDLE 的版本是 2 6 4 即 Python 2 6 4 r264 75708 Oct 26 2009 08 23 19 MSC v 1500
  • 使用 UnboundId api 查看 LDAP 中修改的条目

    这是我想要查看 LDAP 中已在 LDAP 服务器端修改的修改条目的要求 Unboundid API 中是否有任何 API 或代码 以便我可以查看 LDAP 中修改的条目 尽管您的问题不太清楚 但我认为您是在问是否有一种方法可以检测目录服务
  • Tkinter 使用鼠标在 Canvas 上调整矩形大小

    我想在 Tkinter 中为我的研究项目创建一个简单的 GUI 图像标签工具 目前 我有可以从目录加载图像并允许我绘制多个边界框的工作代码 我想修改代码 以便在单击矩形 BB 时可以使用鼠标调整它的大小 我在网上搜索过 但找不到任何资源可以
  • 通过将变量名称“缝合”在一起来访问 C++ 中的变量

    假设我有一个变量 int fish5 7 我可以通过连接术语 fish 和 5 来访问fish5吗 理想的解决方案如下所示 printf I am displaying the number seven i fish 5 不 不完全是你想要
  • 将 CSV 文件导入 Django 模型的最简单方法是什么?

    我正在 DJANGO 中制作一个应用程序来处理很多 问题 模型中指定了一个问题表 或多或少会有数千个问题 现在 我手头有一个 Excel 文件 其中包含所有问题 我可以从那里创建一个 CSV 文件 我只需要获取问题表中的 CSV 数据 最简