Moh*_*mad 2 csv django django-models django-forms
我正在 DJANGO 中制作一个应用程序来处理很多“问题”。模型中指定了一个问题表,或多或少会有数千个问题。
现在,我手头有一个 excel 文件,所有问题都在其中,我可以从那里制作一个 CSV 文件。我只需要在我的问题表中获取 CSV 数据。什么可能是最简单的方法来做到这一点?任何人都可以告诉任何工具,过程,代码这样做吗?
一个Django的管理命令可能是导入此数据到数据库中的最佳选择。它使您可以访问 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],
)
Run Code Online (Sandbox Code Playgroud)
如果您将它保存为app/management/commands/load_questions.py您将其调用为:
python manage.py load_questions --path /path/to/your/file.csv
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9365 次 |
| 最近记录: |