我有以下csv文件,其中包含需要提取的地址字段:
"date","location","field1"
"2017/01/01 10:32","44 Shirley St. West Chicago, IL 60185","1"
"2017/01/02 07:06","70 Bowman St. South Windsor, CT 06074","1"
这是我的剧本:
$input = $ARGS[0]
$lines = import-csv $input | select location
foreach ($l in $lines) {
$a= $l -split 'St\.'
$a[0]
}
我只需要街道信息,但它显示以下内容:
@{location=44 Shirley
@{location=70 Bowman
我该如何解决?
答案 0 :(得分:1)
根据评论,这不适用于每个地址(因为它们并非全部都是街道)但是假设在你的文件中他们这样做而你只是想要街道的名称而没有'圣'根据您的拆分,您的代码唯一的问题是使用Select
语句。
要解决此问题,您需要使用-ExpandProperty
参数,以便获取返回的Location属性的值,而不是仅具有该属性的过滤对象:
$lines = import-csv $input | select -ExpandProperty Location
foreach ($l in $lines) {
$a= $l -split 'St\.'
$a[0]
}
返回:
44 Shirley
70 Bowman
答案 1 :(得分:1)
Marks解决方案的替代方案:
$lines = import-csv $input
foreach ($l in $lines) {
$a= $l.location -split 'St\.'
$a[0]
}