Tag: 字典

使用字典键和值作为参数并追加到数组

我有两个字典 – 基本字典和额外的,我想使用额外的字典数据与函数交互和追加数据到第一个。 dict_report = {'Id': p_id, 'First name': person_name, 'Age': p_age} #basic dict iter_params = {'Shape': 0, 'Margin': 1} #additional 我有一个函数接受3个参数,我想使用第二个字典值作为第一个参数。 比方说,在基本的语言: def function(): shape = concatvals(iter_params_mammo(['Shape'],14,19)) #goes to cell value directly margin = concatvals(iter_params_mammo(['Margin'], 14, 19)) dict_report.add(shape,margin) return dict_report 应该返回 dict_report = {'Id': p_id, 'First name': person_name, 'Age': p_age, 'Shape': "specific shape", 'Margin': […]

使用字典键在excel VBA中设置graphics系列

目标:根据电子表格中的数据dynamic生成(100%堆积)graphics。 条件:我有一个包含重复里程碑的列表站点(每个站点使用相同的4个里程碑,但项目之间的里程碑不同,这个function将在多个项目的跟踪器中使用)。 当前状态:它正在根据需要绘制堆叠条形图,但我似乎无法将图例(系列)重命名为正在从已识别的里程碑构build的字典中的唯一键。 数据设置:列X3及以后有里程碑列表。 有40个logging(2个空白行)和4个唯一值。 d1字典包含输出到列R中的唯一4个值(仅用于testing)。 图像:数据和位置/里程碑列表 与绘制图表有关的所有代码: With Worksheets("Sheet1") .Columns.EntireColumn.Hidden = False 'Unhide all columns. .Rows.EntireRow.Hidden = False 'Unhide all rows. .AutoFilterMode = False lastrow = Range("W" & Rows.Count).End(xlUp).Row 'If MsgBox("Lastrow is: " & lastrow, vbYesNo) = vbNo Then Exit Sub End With Dim MyLocationCount As Integer Dim MyMilestoneCount As Integer 'Use VbA code […]

Excel字典具有多个值?

在Python中,我习惯于拥有像defaultdict这样的东西,我可以将多个值附加到给定的键上。 在Excel中,如果我从脚本运行时使用Dictionary对象,我只能为每个键添加一个项目。 有没有办法我可以这样做: 如果字典缺less密钥,则在dict [key]下添加List(第一项) 如果字典有密钥,则在dict [key]下追加项目到预先存在的列表 我希望我已经清楚了。 也许而不是一个列表我的意思是一个数组,不知道。 尝试: Dim collect As New collection If Not dict.Exists(key) Then dict.Add key, collect End If collect = dict.Item(key) collect.Add (val) dict.Item(key) = collect

Excel VBA字典重复键

我有这个代码: Dim list As Object Set list = jsonParse.Item("list") Dim groupedByProjectElement As New Dictionary For i = 1 To 2 Set pE = list(i).Item("projectElement") Dim projectElementsDictionary As New Dictionary If groupedByProjectElement.Exists(pE.Item("businessKey")) Then Set projectElementsDictionary = groupedByProjectElement(pE.Item("businessKey")) projectElementsDictionary.Add projectElementsDictionary.count + 1, list(i) End If If Not groupedByProjectElement.Exists(pE.Item("businessKey")) Then projectElementsDictionary.Add 1, list(i) groupedByProjectElement.Add pE.Item("businessKey"), projectElementsDictionary End If […]

在同一字段上使用通配符的空格和数字的多重过滤条件不起作用

尽pipe关于这个话题的问题很多,但我还是无法find解决我的问题的scheme(这可能也可能不是我的错)。 我需要自动筛选范围以返回空格和614开始的数字。 此列已使用以下格式预先格式化: Range("B:C").NumberFormat = "###0" 这是为了移除Excel想要在某些数字上使用的科学记数法格式。 然后我使用以下来应用filter: With ActiveSheet .AutoFilterMode = False 'remove any active filters .Range("A1:O1").AutoFilter Field:=2, Criteria1:="614*", Operator:=xlOr, Criteria2:="=" End With 不pipe我如何应用filter,包括使用数组,filter只返回空白值。 我也使用了Criteria1:=“= 614 *”来获得相同的结果。 我唯一能确定的是这个数字是以614开始的,并且会有以下几种组合。 数据types是否存在问题? 空白是string,数字是数字? 只有一个博客稍微解决了这个问题,似乎表明我不能在这种情况下使用通配符。 它是否正确? 基本上这些数字是澳大利亚移动号码,因此有11个字符的长度,只有前3个是一个常数。 这就是为什么我真的想使用通配符来查找这些logging。 我需要消除这些加上数据集的空白。 根据你的回答以及我在很大程度上开始意识到的事情,我唯一的select就是把这些数字转换成string,如果我想把它作为一个一步的过程。 这会影响后面的代码。 我假设这不能作为autofilter标准的一部分(一厢情愿的想法)?

VBA字典的词典?

我正在使用字典对象在列标题下我的工作表中的每一列创build独特的集合。 列标题在第1行。 问题是我的字典包含以前的专栏的独特的项目。 例如,如果调用第4列的字典,则其包含来自第1,2,3列的所有唯一项目和标题。 我只需要来自该专栏的独特的项目。 任何想法如何纠正这个代码? Sub cre_Dict() Dim fulArr As Variant Set d = CreateObject("scripting.dictionary") With Sheets("Database") fulArr = .Range("A1:IO27") 'assign whole table to array For j = 1 To UBound(fulArr, 2) 'looping from 1st column to last column For i = 2 To UBound(fulArr, 1) 'looping from row2 to last row If Len(fulArr(i, […]

如何检索和存储从Python数据框的多个值?

我有以下数据框表示一对点之间的距离距离matrix。 我有预定的“旅行”,访问特定的点对,我需要计算的总距离。 例如, Trip 1 = [A:B] + [B:C] + [B:D] = 6 + 5 + 8 = 19 行程2 = [A:D] + [B:E] + [C:E] = 6 + 15 + 3 = 24 import pandas graph = {'A': {'A': 0, 'B': 6, 'C': 10, 'D': 6, 'E': 7}, 'B': {'A': 10, 'B': 0, 'C': […]

Python – 用csv.DictReader忽略len()中的空单元格

在比较CSV文件中的行时,我偶然发现了问题。 我可以用len()和csv.reader,它工作得很好,但我必须sorting文件的关键。 我有唯一的键,所以我想使用DictReader但len()似乎读取字典中的所有值包括空单元格: with open (baseline, 'r') as baselineF: readBaseline=csv.DictReader(baselineF, delimiter=',', quotechar='"') for rowb in readBaseline: print('rowb: ',len(rowb)) with open (tested, 'r') as testedF: readTested=csv.DictReader(testedF, delimiter=',', quotechar='"') for rowt in readTested: print ('rowt: ', len(rowt)) # Rows are the same len if len(rowb)==len(rowt): writerSameOracle.writerow(rowb) writerSameHPCC.writerow(rowt) print ('Rows are the same') break 即使行具有相同数量的填充单元,也可以使用此代码,它将返回len()=每个文件中的标题数。

EXCEL – VBA。 获取单元值作为键值对

我正在尝试从“I”列的Excel单元格中获取地址值,并将其作为查询string传递给使用VBA的URL。 在Excel里面embedded了“Microsoft Object Browser”加载页面。 这甚至有可能吗? 因为我担心查询string太高(近似1000行)传递的数据量。 代码是不工作,有没有办法通过传递查询string作为数组呢? 另外我需要VBA语法来parsing字典值。 我是VBA新手。 请帮忙。 Dim Arr() As Variant ' declare an unallocated array. Arr = Range("I:I") ' Arr is now an allocated array Set dict = CreateObject("Scripting.Dictionary") Dim iRow As Integer iRow = 1 Dim parms As Variant Dim rg As Range For Each rg In Sheet1.Range("I:I") ' Print […]

我的字典不能正常工作

我正在使用字典对象进行sorting和计数值,并将其打印到工作表。 其他人帮我编写代码,这对我来说好像是巫术。 在我的数据中,我有30个块,每个包含18个试验。 我还有30块之前有1个练习块,30块之后有10个练习块。 所有代码都是使用不包含传输块的数据样本编写的,但是我打算将其他数据文件复制/粘贴到包含传输块的原始文件中。 不知何故,我的代码知道忽略练习块(这是我想要的),但也复制/粘贴数据(这不是我想要的)时忽略传输块。 我不知道为什么代码是这样的行为。 这是字典对象的代码: Dim dBT As Object 'global dictionary Sub buttonpresscount() 'constants for column positions Const COL_BLOCK As Long = 1 Const COL_TRIAL As Long = 2 Const COL_ACT As Long = 7 Const COL_AOI As Long = 8 Const COL_RT As Long = 16 Dim rng As Range, lastrow […]