我使用一个数组读取Excel内容,该内容应该用于创建一个xml文件,但是将数组值分配给write xml语句会有麻烦。 数组代码:
grid_result.best_estimator_.model.model.history.history
数组内容示例:
# Parse Excel columns A and B and store it in array "$headerInit"
for ($j=1; $j -le $rowMax-1; $j++)
{
$Obj = New-Object Psobject -Property @{
Value = $ws.Cells.Item($j,2).text
Header = $ws.Cells.Item($j,1).text
No = $j
}
$DataArray.add($obj) # Visualize the array content
}
$DataArray | Out-Gridview
此处创建xml文档的代码摘录(值“ 1234 ”和“ 0x3030 ”是手动插入,但应从数组$ DataArray中分配):
No Header Value
...
12 Address 1234,0x3030
...
如何在create xml语句中的数组$ DataArray,Header“Address”中分配2个值除以逗号“1234,0x3030”?任何帮助表示赞赏 - 谢谢。
答案 0 :(得分:0)
与此同时,我已经解决了以逗号分隔的2个值的问题。 解决方案是:
$a,$b = $DataArray[12].Value.split(',')
有没有简单的方法可以将值直接分配给write xml语句而不需要额外的变量?
答案 1 :(得分:0)
正如您从我的建议中找到的那样,您可以使用$addressLeft,$addressRight = $DataArray[12].Value.Split(',')
分隔您想要的两个值:
Split
您还可以直接引用拆分的单独部分,因为$DataArray[12].Value.split(',')[0]
$DataArray[12].Value.split(',')[1]
创建了一个数组,您可以使用索引号来访问每个元素:
$DataArray
另一种选择是在构建$Obj = New-Object Psobject -Property @{
Value = $ws.Cells.Item($j,2).text
addressLeft = $ws.Cells.Item($j,2).text.Split(',')[0]
addressRight = $ws.Cells.Item($j,2).text.Split(',')[1]
Header = $ws.Cells.Item($j,1).text
No = $j
}
时将值拆分为两个属性:
Value
我已将原始{{1}}属性保留在其中,但如果您只想要拆分值,则可以将其删除。