zoukankan      html  css  js  c++  java
  • Python 处理excel文件时遇到报错:AttributeError: module 'win32com.gen_py.00020813-0000-0000-C000-000000000046x0x1x9' has no attribute 'CLSIDToClassMap'

    百度了一下,都是直接删除一个临时文件夹,重新运行后便正常了。

    https://blog.csdn.net/wangzhiqin365/article/details/84643452

    1. 我在用python处理一个excdl文件时,遇到报错如下:

    Traceback (most recent call last):
    File "C:/pythonProject/流量短信详单时间格式_正式脚本.py", line 320, in <module>
    main()
    File "C:/pythonProject/流量短信详单时间格式_正式脚本.py", line 308, in main
    cuc_data_process()
    File "C:/pythonProject/流量短信详单时间格式_正式脚本.py", line 170, in cuc_data_process
    fileName = xls2xlsx(fileName)
    File "C:/pythonProject/流量短信详单时间格式_正式脚本.py", line 16, in xls2xlsx
    excel = win32.gencache.EnsureDispatch('Excel.Application')
    File "C:Python_3.6.8libsite-packageswin32comclientgencache.py", line 531, in EnsureDispatch
    mod = EnsureModule(tla[0], tla[1], tla[3], tla[4], bForDemand=bForDemand)
    File "C:Python_3.6.8libsite-packageswin32comclientgencache.py", line 388, in EnsureModule
    module = GetModuleForTypelib(typelibCLSID, lcid, major, minor)
    File "C:Python_3.6.8libsite-packageswin32comclientgencache.py", line 263, in GetModuleForTypelib
    AddModuleToCache(typelibCLSID, lcid, major, minor)
    File "C:Python_3.6.8libsite-packageswin32comclientgencache.py", line 549, in AddModuleToCache
    dict = mod.CLSIDToClassMap
    AttributeError: module 'win32com.gen_py.00020813-0000-0000-C000-000000000046x0x1x9' has no attribute 'CLSIDToClassMap'

    Process finished with exit code 1

    2.解决方法:

    运行下面 4行代码,找到报错的临时文件夹所在路径,将其删除

    $ python
    Python 3.6.8 (tags/v3.6.8:3c6b436a57, Dec 24 2018, 00:16:47) [MSC v.1916 64 bit (AMD64)] on win32
    Type "help", "copyright", "credits" or "license" for more information.
    >>> from win32com.client.gencache import EnsureDispatch
    >>> import sys
    >>> xl = EnsureDispatch("Word.Application")
    >>> print(sys.modules[xl.__module__].__file__)
    C:UsershpAppDataLocalTempgen_py3.60020905-0000-0000-C000-000000000046x0x1x9\_Application.p

    >>>

    3. 再次运行python脚本处理excel,可以执行完毕,会发现刚才删除的临时文件夹又出现了,不用管它。

  • 相关阅读:
    栈及练习
    约瑟夫问题
    双向链表
    链表
    线性表
    高级排序
    建议16:比较函数调用模式
    建议15:推荐动态调用函数
    建议14:灵活使用Arguments
    建议13:禁用Function构造函数
  • 原文地址:https://www.cnblogs.com/tonyxiao/p/14736747.html
Copyright © 2011-2022 走看看