小编Kri*_*shn的帖子

获取嵌套字典的所有键

我有下面的代码,目前只打印初始字典的值.但是,我想迭代嵌套字典的每个键,最初只打印名称.请参阅下面的代码:

Liverpool = {
    'Keepers':{'Loris Karius':1,'Simon Mignolet':2,'Alex Manninger':3},
    'Defenders':{'Nathaniel Clyne':3,'Dejan Lovren':4,'Joel Matip':5,'Alberto Moreno':6,'Ragnar Klavan':7,'Joe Gomez':8,'Mamadou Sakho':9}
}

for k,v in Liverpool.items():
    if k =='Defenders':
       print(v)
Run Code Online (Sandbox Code Playgroud)

python dictionary nested python-3.x

12
推荐指数
2
解决办法
3万
查看次数

列出类继承的所有属性

嗨,我有以下从我尝试使用在StackOverflow上获得的代码从Outlook中提取数据.

使用第一个循环,我试图收集对象可用的所有属性.

在运行它时,我注意到缺少Name,后来在第二个循环中调用,我认为这是由于继承.请问你能帮助我找到课堂上的所有属性吗?

import win32com.client,sys

o = win32com.client.gencache.EnsureDispatch("Outlook.Application")
ns = o.GetNamespace("MAPI")

adrLi = ns.AddressLists.Item("Global Address List")
contacts = adrLi.AddressEntries
numEntries = adrLi.AddressEntries.Count
print(type(contacts))
nameAliasDict = {}
attrs_ = dir(contacts)
for i in range(len(attrs_)):
    print((attrs_[i]))

for j in contacts:
    print(j.Name)

    sys.exit()
Run Code Online (Sandbox Code Playgroud)

python inheritance gal python-3.x

10
推荐指数
2
解决办法
2367
查看次数

变更表代码名称

出于某种原因,以下代码仅在vbe中运行,在事件处理代码中运行时或通过宏列表运行时,代号仍为sheet1。

请有人可以调查吗?

Sub changesheetcodename()    

Dim ws,tsst as worksheet

For Each Ws In ActiveWorkbook.Worksheets
    If Ws.Name <> "Instructions"  then ws.delete
Next Ws

Worksheets.Add(After:=Worksheets(Worksheets.Count)).Name = "Sheet1"

set tsst = Sheets("Sheet1")
With tsst
    .Parent.VBProject.VBComponents(.CodeName) _
    .Properties("_CodeName") = "test"
End With

End Sub
Run Code Online (Sandbox Code Playgroud)

excel vba excel-vba

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

在按期间分组时,将前12个月的计数计算在内

我正在尝试使用以下代码来计算该期间和工厂的最近12个月期间所有行的计数,请参阅下面的输出.因此,例如使用以下输出,而不是当前包含该期间总计的12个月列,我希望计数使用201001-201101之间的时间段(请注意,我的示例仅针对下面的数据集和12个月列需要适应每个时期).

Period    Plant Stock   Special MonthTotal  12Months
201101    0EA0    27     0          27        27
201101    0EB0    35    2           37        37
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是,我的代码只是带来了当前时期的计数,而不是通过最近12个月的计算.请有人帮忙吗?

   select 
            convert(varchar(6),dateadd(mm,0,P.Dt),112) as Period,P.Plant,
            Sum(Case When Left(Upper(Material),2) = 'ZZ' then 1 else 0 end) as Stock,
            Sum(Case When Left(Upper(Material),2) <> 'ZZ' then 1 else 0 end) as Special
            ,Count(*) as MonthTotal,Sum(Case When 
                        convert(varchar(6),dateadd(mm,0,P.Dt),112)  
                 Between
                        convert(varchar(6),dateadd(mm,-12,P.Dt),112)    
                 And
                        convert(varchar(6),dateadd(mm,0,P.Dt),112)  Then 1 else 0 End
                )as [12Months]
    from 
            iesaonline.dbo.DS_POs  as P where  
                                Plant IN(
                    Select Client From METRICS.DBO.CO_001_Plants_090_Final
                                  where CustGrp = …
Run Code Online (Sandbox Code Playgroud)

sql group-by sql-server-2005 case

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