我正试图从CSV文件中读取一些数据,但当我尝试用以下方法读取文件时,我得到了错误
ValueError:对关闭的文件执行I/O操作。
def post(self, request):
serializer = MosqueFileSerializer(data=request.data)
if serializer.is_valid():
serializer.save()
file =pd.read_csv(request.FILES['file'])
return Response(status=status.HTTP_200_OK)
当我试图打开文件时,我得到了另一个错误
TypeError:应为str、字节或os。PathLike对象,而不是InMemoryUploadedFile
def post(self, request):
serializer = MosqueFileSerializer(data=request.data)
if serializer.is_valid():
serializer.save()
file =pd.read_csv(open(request.FILES['file']))
return Response(status=status.HTTP_200_OK)
那么有人能帮我找到解决方案吗?
根据文档,InMemoryUploadedFile
对象的文件指针位于其.file
属性。open
函数返回InMemoryUploadedFile
对象本身。
open
也是InMemoryUploadedFile
实例的成员函数。因此,代替open(request.FILES['file'])
我建议你试试
request.FILES['file'].open()
file = pd.read_csv(request.FILES['file'].file)
编辑:修复了以前版本中的错误调用