当前位置:   article > 正文

python 修改excel文件中的数据(附 xlutils.copy 无法使用的解决方案)_module 'xlutils' has no attribute 'copy

module 'xlutils' has no attribute 'copy

这里我们需要使用到两个package
xlrd 和 xlutils

但是在使用 xlutils 的时候遇到了不少坑!

比如找不到模块:

module 'xlutils' has no attribute 'copy'
  •  

解决方案:把 xlutils 内的模块都写进 init.py 文件

  1. from .compat import *
  2. from .copy import *
  3. from .display import *
  4. from .filter import *
  5. from .margins import *
  6. from .save import *
  7. from .styles import *
  8. from .view import *

程序代码:

  1. import xlrd
  2. import xlutils
  3. # 打开一个 excel 文件
  4. old_excel = xlrd.open_workbook('./test.xls')
  5. workbook_all = xlutils.copy(old_excel)
  6. # 获取 sheet 对象
  7. sheet = workbook_all.get_sheet(0)
  8. # 修改数据
  9. sheet.write(1, 1, 'modified!')
  10. # 添加 sheet 页
  11. workbook_all.add_sheet('sheet2',cell_overwrite_ok=True)
  12. # 这里如果已经有了 sheet2,那会报错:Exception: duplicate worksheet name 'sheet2'
  13. # 保存同名文件,达到覆盖修改的目的,其中未被修改的内容保持不变
  14. workbook_all.save('./test.xls')

这里发现:使用这种方法保存为 “.xlsx” 后缀的文件,会无法打开!需要改成老的后缀 “.xls” 才能打开!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/355582
推荐阅读
相关标签
  

闽ICP备14008679号