AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / computer / 问题

问题[array](computer)

Martin Hope
Andrew Raymond Peters
Asked: 2022-10-07 07:01:20 +0800 CST

INDEX MATCH 具有多个匹配项。找到最大匹配

  • 5

我运行了一个 GIS 操作,它为我提供了一个表格,显示了最接近阀门的 3 根管道长度。主管线管有 12,8,6 和 4 英寸尺寸,输出到 4,3 和英寸侧线。

我的表格为每个阀门输出了 3 个值,因为它们通常可以放置在带有 8" 主线的 T 形形状中,阀门通向 4" 横向。在这种情况下,我想将阀门放在 8" 线上,然后生产一个 8x6 异径管。由于 CAD 架构师的放置,在此位置运行单个结果 NEAR 可能会输出 6"。

我的问题是如何获得每个阀门的管道尺寸的 MAX()?我有 221 个阀门用于 663 条线路,无法手动执行此操作。

我尝试过的事情:

  • INDEX(MATCH())从上到下获得第一个结果并继续前进。我需要它来输出一个数组,这样我就可以将该输出嵌套在 a 中MAX()或找到嵌套 MAX() 的位置

  • 按到阀门的距离排序并删除 10 英尺以上的所有值。这适用于一些但肯定不是全部。从 663 行操作变为 ~325 行操作。如果是 221 线操作,我不需要帮助,但看起来有很多位置与位置pipe^valve>reducer>pipe相反pipe^valve>pipe

阀门 近等级 接近管道尺寸 空白的 独特的阀门 最高 索引(匹配())结果
1 1 8 1 8 8
1 2 8 2 6 4
1 3 4 3 8 4
2 1 6
2 2 4
2 3 4
3 1 4
3 2 8
3 3 6
worksheet-function array
  • 1 个回答
  • 21 Views
Martin Hope
funbotix
Asked: 2022-02-05 14:54:44 +0800 CST

如何在 DOS/Windows 批处理文件中设置和使用数组值中的变量

  • 6

在 DOS/Windows 批处理文件中,如何设置/使用数组和循环索引中的变量,以便生成如下所示的输出?

SETLOCAL ENABLEDELAYEDEXPANSION
set x[0]=one
set x[1]=two
set x[2]=three
for %%i in (0,1,3) do (
    call set y=%x[%%i]%
    echo y=%y%
)


DESIRED OUTPUT:
    y=one
    y=two
    y=three

我真正想做的是重复调用一个程序并传递一堆参数,其中一个是数组变量。如果我将行上的 [%%i] 替换为调用集,使用 [0],则执行该行时的输出是预期的“调用集 y=one”。但是,如果我使用 [%%i] 访问数组元素,则输出将更改为“call set y =”。我已经尝试了很多方法来做到这一点,但没有一个能产生预期的结果:(

batch array
  • 1 个回答
  • 1251 Views
Martin Hope
Wasyl Kurek
Asked: 2022-02-03 01:33:16 +0800 CST

根据最低值查找唯一代码

  • 5

很长一段时间以来,我一直试图在许多地方找到解决此问题的方法,但找不到。

这是一个描述:

我有一张产品之间的转换时间表。我想创建一个列表,为下一个职位选择最低的 C/O 时间,但不重复产品。假设列表中的第一项是“手工”挑选的。

因此,使用随附的示例,此列表可能如下所示:

A B D E

你会看到,对于最后一个位置,我不得不忽略 B 和 A,因为它们已经被选中。有人可以帮我弄清楚它的公式吗?

编辑:我忘了提到我在工作中无法访问 Office 365,只有 2016 年。

示例 Excel 表

    A   B   C   D   E
A   -   10  20  10  -
B   -   -   -   10  15
C   20  -   -   15  10
D   15  10  20  -   15
E   -   20  15  10  -
microsoft-excel array
  • 1 个回答
  • 37 Views
Martin Hope
Nathan
Asked: 2021-10-28 08:08:52 +0800 CST

使用 PowerShell 将多值 JSON 元素拆分为数组

  • 5

我正在使用 PowerShell 中的一些 JSON 数据。有些元素是多值的,用分号分隔,但它并不总是相同的元素是多值的。我想将可能出现的多值元素转换为 JSON 数组。

我很难做到这一点。我已经找到了一种方法来识别哪些元素是多值的,但我不确定在输出整个 JSON 时如何拆分它们。在导出为 JSON 之前,我是否需要构建一个自定义 PSObject 并将多值元素分解为一个数组?对于一个简单的任务来说,这似乎是很多开销。

起始示例

{
  "Title": "Civil War Diary - Original and Transcript",
  "Date Created": "1863",
  "Access Rights": "Open Access",
  "Identifier": "e9f44e22b9a285c1c3e2ac0307d113f3",
  "Resource Type": "Text; Still Image"
}

期望的输出

{
    "Title": "Civil War Diary - Original and Transcript",
    "Date Created": "1863",
    "Access Rights": "Open Access",
    "Identifier": "e9f44e22b9a285c1c3e2ac0307d113f3",
    "Resource Type": [
        "Text",
        "Still Image"
    ]
}
powershell array
  • 1 个回答
  • 1339 Views
Martin Hope
Katheryn Overman
Asked: 2020-09-19 09:51:19 +0800 CST

将数字求和到第一个“/”

  • 6

我有一个这样的数字数组:

114/114
142/137
79/79
60/59
69/69
132/132
1/1

我需要将“/”前后的数字相加,最终得到 597/591。这在 Excel 2016 中可行吗?

microsoft-excel array
  • 2 个回答
  • 42 Views
Martin Hope
Peter
Asked: 2020-04-18 10:44:31 +0800 CST

Excel函数返回数组

  • 6

我想要一个接受参数并返回数组的 UDF。

这是我的功能:

Function UnitSales(ToAdd As Long) As Long()
     UnitSales = Array(1 + ToAdd, 2 + ToAdd, 3 + ToAdd)
End Function

我试图通过选择 3 个单元格并键入 =unitsales(3) 然后按 Ctrl-Shift-Enter 来使用该数组

我得到的只是 3 个显示 #VALUE 的单元格!我期待 3 个单元格包含 4,5,6

我究竟做错了什么?

microsoft-excel array
  • 1 个回答
  • 38 Views
Martin Hope
RhysPickett
Asked: 2019-09-07 07:33:31 +0800 CST

修改数组中的值

  • 5

我想从多个服务器中提取可用的磁盘空间,并用低磁盘空间标记值(例如,<20GB)。我无法标记低值。

要拉磁盘空间,我运行

$Array = gwmi win32_logicaldisk -ComputerName ComputerName | Select DeviceId, @{n="Size";e={[math]::Round($_.Size/1GB,2)}},@{n="FreeSpace";e={[math]::Round($_.FreeSpace/1GB,2)}} 

按预期返回数据;

DeviceId Size FreeSpace
-------- ---- ---------
A:          0         0
C:       79.9      14.3
D:        701     72.76
Z:          0         0

然后我可以查询 $Array.Freespace 以获取以下内容;

0
14.3
72.76
0

由于我想在此列表中标记任何小于 20 的值,因此我尝试运行以下代码;

ForEach ($Value IN $Array.FreeSpace)
{IF ($Value -lt 20) {$Value = "WARNING"}

但是,运行此操作后,我的数组没有任何变化。我相信问题在于$Value = "Warning"- 这是更改 ForEach 循环中每个单独值的正确方法吗?

作为最终结果,我希望结果在查询时显示如下$Array:

DeviceId Size FreeSpace
-------- ---- ---------
A:          0     WARNING
C:       79.9     WARNING
D:        701     72.76
Z:          0     WARNING

非常感谢任何帮助,谢谢。

powershell array
  • 1 个回答
  • 19 Views
Martin Hope
fma abd
Asked: 2019-06-09 06:12:44 +0800 CST

根据变量的动态值构造脚本参数

  • 5

团队,我有一组在此脚本 A 中定义的参数,它们的默认值为“DEFAULT”。当用户将这些变量参数设置为“DEFAULT”以外的任何值时,我必须运行另一个具有更新变量值的脚本,否则我将运行另一个具有默认值的脚本-B。所以,我有三种情况

我在脚本中模拟詹金斯参数设置。默认值是在设置为环境变量的 jenkins 作业上预设的,然后运行此脚本。因此,如果用户不更改任何参数并将所有 fio_gen 的值设置为默认值,那么它们将被我在脚本中定义的值替换。

1-Run Script-B with DEFAULT variable values
2-Run Script-B with all-non-DEFAULT variable values
3-Run Script-B with mixed variable values.. some default and some non. 

我的代码在下面,它确定哪些变量是默认变量而不是默认变量,但我想不出为上面的混合做 case-3 的逻辑。

我应该在 vars_ioengine_defaults 中使用关联数组并进行比较和使用吗?或者什么是好的方法?

#!/bin/bash
declare -a vars=(IOEngine TestType Threads BlockSize FileSize DatasetSize QueueDepth RunTime UDCName)
for var_name in "${vars[@]}"
do
 if [ -z "${!var_name}" ]; then
   echo "Missing environment variable $var_name"
   exit 1
 fi
done

#***Comment unComment to test 3 cases"
#DatasetSize="DEFAULT"
#BlockSize="DEFAULT"
#DatasetSize="nonDEFAULT"
#BlockSize="nonDEFAULT"
DatasetSize="DEFAULT"
BlockSize="NON-DEFAULT"


preset="DEFAULT"
declare -a dynamic_vars=( DatasetSize BlockSize )

number_of_dynamic_vars="${#dynamic_vars[@]}"
number_of_default_values=0

overwrite_all() {
        printf "all non-defaults variables\n"
    fio_gen
}
overwrite_some() {
        printf "some defaults variables\n"
    for [[ "${!var}" == "$preset" ]]
    do
     # SOME LOGIC HERE TO replace non-default and call this function
    fio_gen
    done
}
overwrite_none() {
        printf " all defaults variables\n"
    vars_ioengine_defaults
    fio_gen
}


check_vars() {
for var in "${dynamic_vars[@]}"
do
  [[ "${!var}" == "$preset" ]] && ((number_of_default_values++))
done

if [[ "$number_of_default_values" -eq 0 ]]; then
  echo "None var is default"
  overwrite_all
elif [[ "$number_of_default_values" -eq "$number_of_dynamic_vars" ]]; then
  echo "All defaults"
  overwrite_none
else
  echo "Mixed"
  overwrite_some
  echo $var
fi
}

vars_ioengine_defaults() {
  RunTime="0"
  UDCNAme="stage"
if [[ "$IOEnginge" == "psync" ]]  && [[ "$TestType" == "read" ]]; then
  QueueDepth="0"
  DatasetSize="3G"
  BlockSize="2,4,8,16,32,64,128,256,512,1024"
  Threads="1,2,4,8,16,32,64,128,256"
  FileSize="3M"
elif [[ "$IOEngine" == "psync" ]]  && [[ "$TestType" == "randread" ]]; then
  QueueDepth="0"
  DatasetSize="1G"
  BlockSize="8,16,32"
  Threads="16,32,64,128,256"
  FileSize="32k"
elif [[ "$IOEngine" == "libaio" ]]  && [[ "$TestType" == "read" ]]; then
  QueueDepth="16"
  DatasetSize="3G"
  BlockSize="2,4,8,16,32,64,128,256,512,1024"
  Threads="1,2,4,8,16,32,64,128,256"
  FileSize="3M"
elif [[ "$IOEngine" == "libaio" ]]  && [[ "$TestType" == "randread" ]]; then
  QueueDepth="16"
  DatasetSize="1G"
  BlockSize="8,16,32"
  Threads="16,32,64,128,256"
  FileSize="32k"
fi
}

fio_gen() {
    echo "iteratre on -p $IOEngine -t $TestType -j $Threads -b $BlockSize -s $FileSize -d $DatasetSize -q $QueueDepth -r $RunTime -u $UDCName"
}
check_vars
bash array
  • 2 个回答
  • 274 Views
Martin Hope
fma abd
Asked: 2019-06-04 14:52:02 +0800 CST

变量名存储在 bash 数组中;如何遍历数组并根据常见模式测试它们的值?

  • 5

团队,

我正在尝试实现一种功能,该功能由用户检查 ENV 中预定义变量列表中所有变量的内容,然后使用所有结果变量作为参数运行我的函数。

所以,有3种可能性:

1 - All variables hold same value 
[DatasetSize & BlockSize == DEFAULT ]

2 - All variables hold unique value 
[DatasetSize & BlockSize != DEFAULT ]

3 - Some are unique and some distinct. 
[DatasetSize || BlockSize = DEFAULT ]

我的代码在下面适用于案例 1 和案例 2,但不适用于案例 3。对于第三种情况,当任何变量具有“DEFAULT”时,它只执行第二个 elif 而不是第三个。

#!/bin/bash
#exit on fail without running next command
set -eo pipefail

export TestType="read"
export IOEngine="psync"
export DatasetSize="DEFAULT"
export BlockSize="NON-DEFAULT"

preset="DEFAULT"
declare -a static_vars=(TestType IOEngine)
declare -a dynamic_vars=(DatasetSize BlockSize )
declare -a vars=(TestType IOEngine DatasetSize BlockSize)

for var_name in "${vars[@]}"
do
  if [ -z "$(eval "echo \$$var_name")" ]; then
    echo "Missing environment variable $var_name"
    exit 1
  fi
done

overwrite_all() {
    printf "all defaults in func\n"
}
overwrite_some() {
    printf "some defaults in func\n"
}
overwrite_none() {
    printf " none defaults in func\n"
}
overwrite() {
    #not sure how to overwrite only those vars that have nonDEFAULT value.
    export DatasetSize="changed"
    export BlockSize="changed"
    echo "DatasetSize=$DatasetSize BlockSize=$BlockSize"
}
if [[ "$IOEngine" == "psync"  && ( "$TestType" == "read" || "$TestType" == "randread" ) ]]; then
    iter=1
    while [ $iter -lt 2 ]
    do
        echo "all are defaults; being to call your script with these parameters"
        echo $var_name
        if [[ ${dynamic_vars[@]} == $preset ]]; then
            echo "calling over_none"
            overwrite_none
        elif [[ ${dynamic_vars[@]} != "DEFAULT" ]]; then
            echo "calling over_all"
            overwrite_all
            overwrite
        elif [[ $DatasetSize == "DEFAULT" || $BlockSize == "DEFAULT" ]] && [[ $DatasetSize != "DEFAULT" && $BlockSize != "DEFAULT" ]]; then
                echo "calling over_some"
                overwrite_some
                overwrite
            else
            echo "done"
        fi
            iter=$[$iter+1]
        done
    else
        echo "ITengine not found"
    fi
    echo "out of loop"

输出:

calling over_all
all non-defaults in func
Data setSize=changed BlockSize=changed
out of loop

期望输出:

some defaults in func
DatasetSize=changed BlockSize=changed
bash array
  • 1 个回答
  • 667 Views
Martin Hope
A. Hond
Asked: 2019-03-29 23:54:36 +0800 CST

Excel 数组(2 个变量)

  • 0

我有以下表格https://1drv.ms/x/s!Ai6fM6lT5gt6h00EUCmpnuwlgNtr

它由表 1 组成,表 1 由一个列表(带有一个数组)填充。

目标:我想根据 B21 中的值和表的最后一列填充第二个表:

  1. 当表的最后一列只有“red”值时:将表1复制到表2(B21的值无关紧要)
  2. 当值“red”和“green”混合时:根据B21的值过滤

任何帮助是极大的赞赏!有关可能的场景和期望的结果,请参阅表。

microsoft-excel worksheet-function array
  • 1 个回答
  • 45 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何减少“vmmem”进程的消耗?

    • 11 个回答
  • Marko Smith

    从 Microsoft Stream 下载视频

    • 4 个回答
  • Marko Smith

    Google Chrome DevTools 无法解析 SourceMap:chrome-extension

    • 6 个回答
  • Marko Smith

    Windows 照片查看器因为内存不足而无法运行?

    • 5 个回答
  • Marko Smith

    支持结束后如何激活 WindowsXP?

    • 6 个回答
  • Marko Smith

    远程桌面间歇性冻结

    • 7 个回答
  • Marko Smith

    子网掩码 /32 是什么意思?

    • 6 个回答
  • Marko Smith

    鼠标指针在 Windows 中按下的箭头键上移动?

    • 1 个回答
  • Marko Smith

    VirtualBox 无法以 VERR_NEM_VM_CREATE_FAILED 启动

    • 8 个回答
  • Marko Smith

    应用程序不会出现在 MacBook 的摄像头和麦克风隐私设置中

    • 5 个回答
  • Martin Hope
    Vickel Firefox 不再允许粘贴到 WhatsApp 网页中? 2023-08-18 05:04:35 +0800 CST
  • Martin Hope
    Saaru Lindestøkke 为什么使用 Python 的 tar 库时 tar.xz 文件比 macOS tar 小 15 倍? 2021-03-14 09:37:48 +0800 CST
  • Martin Hope
    CiaranWelsh 如何减少“vmmem”进程的消耗? 2020-06-10 02:06:58 +0800 CST
  • Martin Hope
    Jim Windows 10 搜索未加载,显示空白窗口 2020-02-06 03:28:26 +0800 CST
  • Martin Hope
    andre_ss6 远程桌面间歇性冻结 2019-09-11 12:56:40 +0800 CST
  • Martin Hope
    Riley Carney 为什么在 URL 后面加一个点会删除登录信息? 2019-08-06 10:59:24 +0800 CST
  • Martin Hope
    zdimension 鼠标指针在 Windows 中按下的箭头键上移动? 2019-08-04 06:39:57 +0800 CST
  • Martin Hope
    jonsca 我所有的 Firefox 附加组件突然被禁用了,我该如何重新启用它们? 2019-05-04 17:58:52 +0800 CST
  • Martin Hope
    MCK 是否可以使用文本创建二维码? 2019-04-02 06:32:14 +0800 CST
  • Martin Hope
    SoniEx2 更改 git init 默认分支名称 2019-04-01 06:16:56 +0800 CST

热门标签

windows-10 linux windows microsoft-excel networking ubuntu worksheet-function bash command-line hard-drive

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve