首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Pyexcel不合并.xls文件

Pyexcel不合并.xls文件
EN

Stack Overflow用户
提问于 2018-03-08 01:05:06
回答 1查看 82关注 0票数 0

我正在尝试将多个.xls文件合并到一个工作簿中,其中每个文件都插入到一个工作表中,工作表的名称为.xls文件名。

在网上冲浪时,我看到了Pyexcel的文档和一个特定的模块,就像这里写的那样,可以很容易地完成这项工作。这是代码。

代码语言:javascript
复制
from pyexcel.cookbook import merge_all_to_a_book
import glob 
merge_all_to_a_book(glob.glob("Dir\*.xls"),"output.xls")

正如预期的那样,它不起作用。这是控制台的输出。

代码语言:javascript
复制
File "..\Desktop\scripts\provaimport.py", line 48, in <module>


merge_all_to_a_book(glob.glob("C:\Users\Tesisti\Desktop\forpythonscript\*.xls"),"output.xls")
  File "C:\Users\Tesisti\Anaconda2\lib\site-packages\pyexcel\cookbook.py", line 148, in merge_all_to_a_book
    merged.save_as(outfilename)
  File "C:\Users\Tesisti\Anaconda2\lib\site-packages\pyexcel\internal\meta.py", line 339, in save_as
    return save_book(self, file_name=filename, **keywords)
  File "C:\Users\Tesisti\Anaconda2\lib\site-packages\pyexcel\internal\core.py", line 51, in save_book
    return _save_any(a_source, book)
  File "C:\Users\Tesisti\Anaconda2\lib\site-packages\pyexcel\internal\core.py", line 55, in _save_any
    a_source.write_data(instance)
  File "C:\Users\Tesisti\Anaconda2\lib\site-packages\pyexcel\plugins\sources\file_output.py", line 38, in write_data
    **self._keywords)
  File "C:\Users\Tesisti\Anaconda2\lib\site-packages\pyexcel\plugins\renderers\excel.py", line 30, in render_book_to_file
    save_data(file_name, book.to_dict(), **keywords)
  File "C:\Users\Tesisti\Anaconda2\lib\site-packages\pyexcel_io\io.py", line 119, in save_data
    **keywords)
  File "C:\Users\Tesisti\Anaconda2\lib\site-packages\pyexcel_io\io.py", line 141, in store_data
    writer.write(data)
  File "C:\Users\Tesisti\Anaconda2\lib\site-packages\pyexcel_io\book.py", line 58, in __exit__
    self.close()
  File "C:\Users\Tesisti\Anaconda2\lib\site-packages\pyexcel_xls\xlsw.py", line 86, in close
    self.work_book.save(self._file_alike_object)
  File "C:\Users\Tesisti\Anaconda2\lib\site-packages\xlwt\Workbook.py", line 710, in save
    doc.save(filename_or_stream, self.get_biff_data())
  File "C:\Users\Tesisti\Anaconda2\lib\site-packages\xlwt\Workbook.py", line 680, in get_biff_data
    self.__worksheets[self.__active_sheet].selected = True

有什么办法解决吗?

EN

回答 1

Stack Overflow用户

发布于 2018-03-22 03:40:32

在我看来,glob.glob("Dir*.xls")返回了一个空的文件列表。因此pyexcel的插件pyexcel-xls fails to create an empty file

当前的解决方案,我建议采用最新的pyexcel-xls,并在merge_all_to_a_book周围使用try-except语句,捕获空文件的情况。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49157523

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档