2017-03-01 63 views
0

我正在尝试将pyexcel整合到Django项目中,并尝试按照文档上的示例进行操作。Pyexcel从excel上传获取记录

我试图复制这一功能:

import pyexcel as pe 
records = pe.iget_records(file_name="your_file.xls") 
for record in records: 
    print("%s is aged at %d" % (record['Name'], record['Age'])) 

我如何去通过一个文件上传打开记录。我试过,没有运气做到这一点:

if request.method == "POST": 
    form = UploadFileForm(request.POST, request.FILES) 
    records = pe.iget_records(file_name=request.FILES['file']) 
    for record in records: 
    .. 

这条线被窃听了:记录= pe.iget_records(file_name=request.FILES['file'])

编辑: 的似乎在发生for循环是:

IOError: Wrong file name 

回答

1

在文档中有get_records

if request.method == "POST": 
    form = UploadFileForm(request.POST, request.FILES) 
    records = request.FILES['file'].get_records() 
    for record in records: 
    .. 

如果你坚持使用iget_record,你可以尝试:

if request.method == "POST": 
    form = UploadFileForm(request.POST, request.FILES) 
    file = request.FILES['file'] 
    file_type = file.name.split('.')[-1] 
    records = pe.iget_records(file_stream=file, file_type=file_type) 
    for record in records: 
    .. 
+0

你摇滚!这工作完美 –