有没有一种方法可以检查通过POST请求上传的csv是否有头,而无需实际保存csv
此外,如果任何人对我上传csv文件的方式有任何建议,他们可以自由提出建议
def post(self, request, *args, **kwargs):
uploaded_file = request.FILES['file']
uploaded_file_name = uploaded_file.name
if len(uploaded_file) != 0:
try:
df = pd.read_csv(uploaded_file)
id = str(uuid.uuid4())
df.to_csv(f'{TRAIN_FILES}/{id}.csv', index=False)
except Exception as e:
return JsonResponse({'msg': str(e)}, status=500)
return JsonResponse({'msg': id}, status=200)
else:
return JsonResponse({'msg': 'File is empty'}, status=500)
所以我用熊猫阅读它的原因是因为我用熊猫阅读它,然后把它投射到一张桌子上。我使用pandas不仅仅是为了验证它是一个有效的CSV
因此,除了确保上传的_文件具有标题外,还需要:
如果它不满足上述任何要求,它应该返回一个带有错误消息的响应
检查所有这些的好方法是什么?我查看了csv.sniffer,但我认为您实际上需要保存csv才能使用它
CSV文件的问题是,我认为您无法判断文件是否有标题行,除非您对内容有所了解。如果知道第一列的名称,可以查看该名称是否在第0行中。如果您知道第二列应该是整数,那么您可以看到第0行第1列的值是string还是int
标题行实际上没有什么特别之处,只是在第2列中,它有一个字符串“age”,而不是一个整数
相关问题 更多 >
编程相关推荐