【问题标题】:DLL load failed: The specified procedure could not be found. win32api, sys, osDLL 加载失败:找不到指定的过程。 win32api,系统,操作系统
【发布时间】:2019-12-11 00:56:29
【问题描述】:

我尝试将 .xls 转换为 .xlsx

这是我的代码:

import os
address = os.getcwd()
import win32com.client as win32

fname = address + "\\Bundles.xls"
fname2 = address + "\\searchresults.xls"
excel = win32.gencache.EnsureDispatch('Excel.Application')
excel2 = win32.gencache.EnsureDispatch('Excel.Application')
wb = excel.Workbooks.Open(fname)
wb5 = excel.Workbooks.Open(fname2)

wb.SaveAs(fname+"x", FileFormat = 51)
wb5.SaveAs(fname2+"x", FileFormat = 51)    #FileFormat = 51 is for .xlsx extension
wb.Close()
wb5.Close()                               #FileFormat = 56 is for .xls extension
excel.Application.Quit()
excel2.Application.Quit()
print('File .xls convert .xlsx successful!!')

然后我得到错误:

Traceback (most recent call last):
  File "c:\Users\shenshuaic\Desktop\SFP Program\win32test.py", line 10, in <module>
    import win32com.client as win32
  File "C:\Users\shenshuaic\AppData\Local\Continuum\anaconda3\lib\site-packages\win32com\__init__.py", line 5, in <module>
    import win32api, sys, os
ImportError: DLL load failed: The specified procedure could not be found.

我已经重新安装了 pywin32。还在发生

【问题讨论】:

    标签: python python-3.x pywin32


    【解决方案1】:

    traceback表明问题确实是在导入win32api的时候出现的。我在尝试直接导入 win32api(而不是导入 win32.client)时遇到了同样的问题。这个答案有帮助:https://stackoverflow.com/a/60611014/7520085

    (...) 将这两个文件从 Lib\site-packages\pywin32_system32 复制到 C:\Windows\System32 后,它就可以工作了。 (...)这两个文件是pythoncom38.dll和pywintypes38.dll。

    【讨论】:

    • 在管理员提示下,进入 python Scripts 目录,然后运行 ​​python -B pywin32_postinstall.py
    • 另外:如果您有多个 venv 使用不同版本的 pywin32,则当您切换venv.
    【解决方案2】:

    此错误来自 pywin32 的 DLL 在安装过程中未放置在正确的位置。

    在 anaconda 提示符下运行它对我有帮助:

    conda install -c conda-forge pywin32
    

    【讨论】:

    • 它不起作用兄弟准备交易:完成验证交易:完成执行交易:完成 PS C:\Users\shenshuaic> C:/Users/shenshuaic/AppData/Local/Continuum/anaconda3/python .exe "c:/Users/shenshuaic/Desktop/SFP Program/SFP.py" Traceback(最近一次调用最后):文件 "c:/Users/shenshuaic/Desktop/SFP Program/SFP.py",第 10 行,在 import win32com.client as win32 File "c:\Users\shenshuaic\Desktop\SFP Program\win32com_init_.py", line 5, in import win32api, sys, os ImportError : DLL load failed: 找不到指定的过程。
    【解决方案3】:

    我正在使用 Spyder,我最初尝试过:

    conda install pywin32 
    import win32com.client
    

    但是一直报错。 所以我尝试了:

    conda install -c conda-forge pywin32
    

    然后

    import win32com.client
    

    完美运行。

    【讨论】:

      猜你喜欢
      • 2014-07-31
      • 1970-01-01
      • 1970-01-01
      • 2016-08-04
      • 2019-05-06
      • 1970-01-01
      • 2013-12-04
      • 2020-10-08
      • 1970-01-01
      相关资源
      最近更新 更多