背景:用python的django开发,主要是对excel文件数据的解析和预处理,根据使用场景选择
方法一、通过二进制流直接上传,在后端通过django下载到本地,再打开处理
obj = request.FILES.get('fafafa', '1')
print(obj.name)
f = open(os.path.join(BASE_DIR, 'media', 'image', obj.name), 'wb')
for chunk in obj.chunks():
f.write(chunk)
f.close()
方法二、通过二进制流直接上传,在后端通过pd.read_excel() 可以读取
该方法还需要将二进制六通过BytesIO方法转换下
from io import BytesIO
obj = BytesIO(content)
df = pd.read_excel(obj)
方法三、前端解析,前端通过工具解析,解析完再包装成对象传到后端
项目的前端框架是React,解析excel主要用了下面的插件
SheetJS js-xlsx 是一款能够读写多种格式表格的插件,浏览器支持良好,并且能在多个语言平台上使用
可能存在的问题:
对表数据复杂的数据,前端难以处理
对时间类型的数据的处理,可能出现时间戳情况 https://blog.csdn.net/qq_30317889/article/details/99643091