我有一个包含2列(纬度和经度)的CSV文件。我正在尝试将2列合并为1,并以逗号分隔(无空格)。
输入CSV文件,前5行
latitude longitude
35.1868 -106.6652
42.3688 -83.4799
40.3926 -79.9052
40.5124 -88.9883
38.5352 -90.0006
我的目标是使用CSV并使用单列创建一个新的CSV文件,并且两个值之间都用逗号隔开(中间没有空格)。请参阅下面的所需输出...
location
35.1868,-106.6652
42.3688,-83.4799
40.3926,-79.9052
40.5124,-88.9883
38.5352,-90.0006
任何帮助将不胜感激!
答案 0 :(得分:1)
前十行只是将示例数据嵌入脚本中的一种方法,而无需将其写入文件然后再读回。[ grin ]
使用export interface IHeaders { [key: string]: any };
将真实数据输入脚本。
let options: IRequestOptions = {additionalHeaders: {'key' : 'value' }};
let rest: rm.RestClient = new rm.RestClient(param1, param2, param3, options);
...
屏幕输出...
Import-CSV
CSV文件内容...
# fake reading in a CSV file
# in real life, use Import-CSV
$InStuff = @'
latitude, longitude
35.1868, -106.6652
42.3688, -83.4799
40.3926, -79.9052
40.5124, -88.9883
38.5352, -90.0006
'@ | ConvertFrom-Csv
$LocationList = foreach ($IS_Item in $InStuff)
{
[PSCustomObject]@{
Location = @($IS_Item.Latitude, $IS_Item.Longitude) -join ','
}
}
# on screen
$LocationList
# CSV file
$LocationList |
Export-Csv -LiteralPath "$env:TEMP\JohnnyCarino_LocationList.csv" -NoTypeInformation
答案 1 :(得分:0)
IMO最简单的方法是选择具有计算属性的对象
Import-Csv .\input.csv |
Select-Object @{Name='Location';Expression={$_.latitude,$_.longitude -join ','}} |
Export-Csv .\output.csv -NoTypeInformation
> Get-Content .\output.csv
"Location"
"35.1868,-106.6652"
"42.3688,-83.4799"
"40.3926,-79.9052"
"40.5124,-88.9883"
"38.5352,-90.0006"