Zajmuję się tworzeniem aplikacji w Pythonie z django. Użytkownik może przesłać plik CSV. Używam wysyłania plików, aby pobrać plik. Ale nie jest przechowywany w żadnym miejscu. Próbuję pobrać go z żądania przetworzenia pliku. Podczas próby otwarcia pliku, powoduje on błąd. Używam biblioteki CSV istniejącej w Pythonie do przetworzenia. Formuj elementy i atrybuty używane zgodnie z django. Żądany obiekt, który próbuję pobrać przesłany plik, to także obiekt zaprojektowany przez django.Błąd typu podczas otwierania przesłanego pliku CSV
import csv
from rootFolder.UploadFileForm
def uploadFile(request):
if request.method == 'POST':
form = UploadFileForm(request.POST, request.FILES)
if form.is_valid():
paramFile = open(request.FILES['uploadFile'], 'rb')
portfolio = csv.DictReader(paramFile)
users = []
for row in portfolio:
users.append(row)
Ta linia poniżej podaje błąd.
paramFile = open(request.FILES['uploadFile'], 'rb')
Podana błędu:
TypeError: coercing to Unicode: need string or buffer, InMemoryUploadedFile found
Uprzejmie proszę podać swoje sugestie, jeśli masz jakiś pomysł na ten temat. Z góry dzięki.
ten produkuje błąd IO Błąd jest IOError: [ERRNO 2] Nie ma takiego pliku lub katalogu: u'Magazine.csv” Dzięki za sugestię – Nazneen
Moje złe, ale w zasadzie chodzi o to, aby uzyskać ścieżkę przesłanych plik. Wypróbuj ten, który właśnie edytowałem. – zubinmehta
Daje to błąd atrybutu. Ja też próbowałem tego wcześniej. dany błąd to AttributeError: Obiekt "InMemoryUploadedFile" nie ma atrybutu "temporary_file_path" – Nazneen