【问题标题】:Is it possible to create an empty csv file in Django database?是否可以在 Django 数据库中创建一个空的 csv 文件?
【发布时间】:2022-11-25 10:06:28
【问题描述】:

我想知道是否可以在 Django 数据库中创建一个空的 csv 文件。基本上我想要做的是允许用户上传文本文件作为 TextUpload 模型对象,然后在后端运行代码来处理文本文件并将其保存为 ProcessedTextToCsv 模型对象。我的 views.py 代码看起来像这样:

def upload_view(request):
    form = TextUploadsModelform(request.POST or None, request.FILES or None)
    if form.is_valid():
        form.save()
        form = TextUploadsModelform()

        ProcessedTextToCsv().save()

我想知道我是否可以在这里创建一个空的 csv,这样我就可以在下面的函数中使用 file_name.path 作为参数

    processTextToCsv(TextUploads.objects.latest('uploaded').file_name.path,ProcessedTextToCsv.objects.latest('uploaded').file_name.path)    
    return render(request, 'main_app/example.html',{'form': form})

【问题讨论】:

    标签: python django csv


    【解决方案1】:

    没有 Django 数据库这样的东西。 Django 是一个使用多个数据库的框架。

    回到你的问题,是的,所有步骤都在 basic-file-uploads 的 Django 教程中描述,你想要的是类似于这样的东西:

    表格.py:

    from django import forms
    
    class UploadFileForm(forms.Form):
        title = forms.CharField(max_length=50)
        file = forms.FileField()
    

    意见.py:

    from django.http import HttpResponseRedirect
    from django.shortcuts import render
    from .forms import UploadFileForm
    
    # Imaginary function to handle an uploaded file.
    from somewhere import handle_uploaded_file
    
    def upload_file(request):
        if request.method == 'POST':
            form = UploadFileForm(request.POST, request.FILES)
            if form.is_valid():
                handle_uploaded_file(request.FILES['file'])
                return HttpResponseRedirect('/success/url/')
        else:
            form = UploadFileForm()
        return render(request, 'upload.html', {'form': form})
    

    “某处”.py:

    def handle_uploaded_file(f):
        with open(f, 'r') as file:
            # read lines
        # Treat the data to CSV format
        with open("/path/to/your/file.csv",'w') as outfile:
            # write your data
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-11-24
      • 2015-03-16
      • 2022-07-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-23
      • 1970-01-01
      相关资源
      最近更新 更多