【问题标题】:Python OpenPyxlPython OpenPyxl
【发布时间】:2018-04-23 13:49:45
【问题描述】:

我正在处理一个大的 excel 文件(30MB+,xlsm)。其中许多包含单元格cmets中的照片,因此该文件占用了大量空间。首先我打开一个文件来读取并获取特定的列名。我打开它:

self.wb = load_workbook(str(self.directory[0]), read_only=True, keep_vba=True, data_only=False)
self.ws = self.wb['BAZA_PRACOWNIKOW']
self.sheet = self.wb.active

找到合适的单元格后,我再次打开,添加相关数据:

self.wb = load_workbook(str(self.directory[0]), read_only=False, keep_vba=True, data_only=False)
self.ws = self.wb['BAZA_PRACOWNIKOW']
self.sheet = self.wb.active

当我完成这个文件后,我想保存它,所以:

self.wb.save('new.xlsm')

然后我得到一个错误:

D:\Anaconda\lib\site-packages\openpyxl\reader\worksheet.py:310: 用户警告:不支持数据验证扩展,并将 删除警告(味精) 保存后的文件大小减少到 8mb。 cmets 中的所有照片都不在 new.xlsm 文件中。 有人可以帮我吗?

【问题讨论】:

  • 您能提供一个示例 .xlsm 文件吗?

标签: python openpyxl


【解决方案1】:

http://openpyxl.readthedocs.io/en/latest/usage.html

openpyxl 目前不读取 Excel 文件中所有可能的项目 因此图像和图表将从现有文件中丢失,如果它们是 以相同的名称打开并保存。

试试 lxlm 或 xlwings 吧?

【讨论】:

    猜你喜欢
    • 2019-02-04
    • 1970-01-01
    • 1970-01-01
    • 2015-09-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多