小编Jua*_*ssa的帖子

win32.Dispatch与Python中的win32.gencache.优缺点都有什么?

我最近使用python的win32com.client作为Windows应用程序的API,但我很难理解一些基本的东西.

我以下面的方式使用了一个名为WEAP的程序

import win32com.client
win32com.client.Dispatch("WEAP.WEAPApplication")
Run Code Online (Sandbox Code Playgroud)

现在,我想在Excel中使用它并找到以前行的替代方法,其中之一如下(取自Python:使用Win32 COM Api打开Excel工作簿)

import win32com.client as win32
excel = win32.gencache.EnsureDispatch('Excel.Application')
Run Code Online (Sandbox Code Playgroud)

有谁知道使用之间的区别

win32.Dispatch 
Run Code Online (Sandbox Code Playgroud)

win32.gencache.EnsureDispatch
Run Code Online (Sandbox Code Playgroud)

和其他替代品?有谁知道每个人的利弊?关于何时应该使用一个或另一个的一些建议?

我寻求建议,我找到了一些有用的答案,例如:

Python:使用Win32 COM Api打开Excel工作簿

win32com.client.Dispatch有效,但不是win32com.client.gencache.EnsureDispatch

http://pythonexcels.com/python-excel-mini-cookbook/

https://mail.python.org/pipermail/python-win32/2011-August/011738.html

然而,他们通常专注于回答特定问题,而不是描述Dispatch,gencache.EnsureDispatch之间差异的大局,以及可能的其他替代方案,这就是我想要的.

任何建议将不胜感激.

python win32com

8
推荐指数
2
解决办法
7180
查看次数

识别 Pandas DataFrame 中每一行的第一个和所有非零值

我有一个类似于以下内容的 Pandas DataFrame

data=pd.DataFrame([['Juan',0,0,400,450,500],['Luis',100,100,100,100,100],[ 'Maria',0,20,50,300,500],[ 'Laura',0,0,0,100,900],['Lina',0,0,0,0,10]])

data.columns=['Name','Date1','Date2','Date3','Date4','Date5']
    
Name  Date1  Date2  Date3  Date4  Date5
0   Juan      0      0    400    450    500
1   Luis    100    100    100    100    100
2  Maria      0     20     50    300    500
3  Laura      0      0      0    100    900
4   Lina      0      0      0      0     10
Run Code Online (Sandbox Code Playgroud)

我想生成两个单独的数据帧。第一个应该在前一个DataFrame的非零值的所有位置都包含一个1,即

    Name  Date1  Date2  Date3  Date4  Date5
0   Juan      0      0      1      1      1
1   Luis      1      1      1      1      1
2  Maria      0      1      1      1      1
3  Laura      0      0 …
Run Code Online (Sandbox Code Playgroud)

python pandas

6
推荐指数
1
解决办法
68
查看次数

标签 统计

python ×2

pandas ×1

win32com ×1