Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

587
Visualizações
django carga el archivo, procesa pandas y descarga como csv

Creé una aplicación que permite al usuario cargar un archivo. Por otro lado, tengo un script de python que toma un archivo de texto, lo convierte a CSV y hace pandas. Este script funciona perfectamente cuando se ejecuta en la terminal. Ahora quiero aplicar ese script de python a la carga de archivos en Django y mostrar ese archivo en httpResponse y ponerlo a disposición para descargarlo.

secuencia de comandos de pitón

 import csv import pandas as pd df = pd.read_csv('raw_df.txt', delimiter = '\t' , usecols=['Sample','Cohort','Metabolite Name','Intensity']) df = df[df['Cohort'].str.contains("std")] df = df.groupby(['Cohort', 'Metabolite Name'])['Intensity'].sum().reset_index() df = df[['Cohort','Intensity']] c = 'Cohort' s = df.set_index([c, df.groupby(c).cumcount() + 2]).Intensity df = s.unstack().add_prefix('Intensity').reset_index() df.to_csv() print df;

vistas.py

 from django.shortcuts import render, redirect from django.conf import settings from django.core.files.storage import FileSystemStorage from uploads.core.models import Document from uploads.core.forms import DocumentForm def home(request): documents = Document.objects.all() return render(request, 'core/home.html', { 'documents': documents }) def model_form_upload(request): if request.method == 'POST': form = DocumentForm(request.POST, request.FILES) if form.is_valid(): form.save() return redirect('home') else: form = DocumentForm() return render(request, 'core/model_form_upload.html', { 'form': form })

Modelos.py

 class Document(models.Model): document = models.FileField(upload_to='documents/')

página de carga de plantillas

 {% extends 'base.html' %} {% block content %} <form method="post" enctype="multipart/form-data"> {% csrf_token %} {{ form.as_p }} <button type="submit">Upload</button> </form> <p><a href="{% url 'home' %}">Return to home</a></p> {% endblock %}
over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

  1. Envuelva su procesamiento de archivos en un método:

     import csv import pandas as pd def process_file(file_handle): df = pd.read_csv(file_handle, delimiter = '\t' , usecols['Sample','Cohort','Metabolite Name','Intensity']) df = df[df['Cohort'].str.contains("std")] df = df.groupby(['Cohort', 'Metabolite Name'])['Intensity'].sum().reset_index() df = df[['Cohort','Intensity']] c = 'Cohort' s = df.set_index([c, df.groupby(c).cumcount() + 2]).Intensity df = s.unstack().add_prefix('Intensity').reset_index() return df.to_csv()
  2. en tu opinión:

     ... if form.is_valid(): document = form.save() # call to the new method csv = process_file(document.document) response = HttpResponse(csv, content_type='text/csv') response['Content-Disposition'] = 'attachment; filename=result.csv' return response ...
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda