作为修改CSV的脚本的一部分,我正在检查列 subCatDesc ,以根据存储在数组中的预定值确定团队。
$grocerySubTeams = "Grocery","Frozen","Bulk","Dairy"
function identifyTeam() {
foreach ($row in $csv) {
if ($row.subCatDesc -contains $grocerySubTeams) {
$row.team = "Grocery"
}
}
}
使用此脚本运行脚本时,团队列仍为空。但是,如果我在下面明确说出我想要的内容,那就可以了。
function identifyTeam() {
foreach ($row in $csv) {
if (($row.subCatDesc -like "Grocery") -or ($row.subCatDesc -like "Frozen") -or ($row.subCatDesc -like "Bulk") -or ($row.subCatDesc -like "Dairy")) {
$row.team = "Grocery"
}
}
}
我尝试过针对数组的不同比较运算符而不是-contains,但都没有效果。
答案 0 :(得分:1)
反过来说:
$grocerySubTeams -contains $row.subCatDesc
答案 1 :(得分:0)
Mark Wragg在将比较运算符切换为 -in 的初步评论中给出的答案解决了我所看到的行为。
if ($row.subCatDesc -in $grocerySubTeams) {
是将单元格的单个值与数组的多个项目进行比较的正确语法。