我有下面的代码,目前只打印初始字典的值.但是,我想迭代嵌套字典的每个键,最初只打印名称.请参阅下面的代码:
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) 嗨,我有以下从我尝试使用在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) 出于某种原因,以下代码仅在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) 我正在尝试使用以下代码来计算该期间和工厂的最近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) python ×2
python-3.x ×2
case ×1
dictionary ×1
excel ×1
excel-vba ×1
gal ×1
group-by ×1
inheritance ×1
nested ×1
sql ×1
vba ×1