【发布时间】:2018-12-20 07:53:39
【问题描述】:
def post(self, request):
form = CsvUploadForm(request.POST, request.FILES)
if form.is_valid():
with open(request.FILES['csv']) as csv_source:
has_header = csv.Sniffer().has_header(csv_source.read(1024))
csv_source.seek(0)
reader = csv.DictReader(csv_source)
....
....
return HttpResponse("file Uploaded")
使用上面的代码我正在尝试上传一个 csv 文件并阅读它。但我收到以下错误。
使用 open(request.FILES['csv']) 作为文件: TypeError: 预期的 str、bytes 或 os.PathLike 对象,而不是 InMemoryUploadedFile
我在这里缺少什么?
django 2.0.7 蟒蛇3.5
【问题讨论】:
-
你不需要打开它,它已经是一个文件蒸汽。只需将其直接传递给 csv 函数即可。
-
@DanielRoseman,如果您可以将其添加为答案,我可以接受。谢谢