Tôi đang phát triển một ứng dụng bằng python với django. Người dùng có thể tải lên tệp CSV. Tôi sử dụng tải lên tệp để tải tệp. Nhưng, nó không được lưu trữ ở bất kỳ đâu. Tôi cố gắng lấy nó từ yêu cầu để xử lý tệp. Trong khi tôi đang cố gắng để mở tập tin, nó đưa ra một lỗi. Tôi sử dụng thư viện CSV tồn tại trong python để xử lý. Các phần tử và thuộc tính biểu mẫu được sử dụng theo django. Yêu cầu đối tượng mà tôi cố gắng để lấy các tập tin được tải lên cũng là django đối tượng được thiết kế.Bắt lỗi Loại khi mở Tệp CSV đã tải lên
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)
Dòng dưới đây đưa ra lỗi.
paramFile = open(request.FILES['uploadFile'], 'rb')
Các lỗi được đưa ra là:
TypeError: coercing to Unicode: need string or buffer, InMemoryUploadedFile found
Xin vui lòng cung cấp cho đề xuất của bạn nếu bạn có bất kỳ ý tưởng về vấn đề này. Cảm ơn trước.
điều này tạo ra lỗi IO Lỗi là IOError: [Errno 2] Không có tệp hoặc thư mục nào như vậy: u'Magazine.csv ' THanks cho đề xuất của bạn – Nazneen
Điều xấu của tôi, nhưng về cơ bản ý tưởng là lấy đường dẫn của tệp đã tải lên tập tin. Hãy thử một tôi chỉ cần chỉnh sửa. – zubinmehta
Điều này cho biết lỗi thuộc tính. Tôi cũng đã thử điều này trước đây. lỗi được cho là AttributeError: đối tượng 'InMemoryUploadedFile' không có thuộc tính 'temporary_file_path' – Nazneen