【发布时间】:2019-06-08 14:37:41
【问题描述】:
我正在尝试按经度列的前几位拆分 csv 文件。这是一个示例:
X,Y,TYPE,SPEED,DirType,Direction
-44.058251,-19.945982,1,30,1,339
-54.629503,-20.497509,1,30,1,263
-54.646202,-20.496151,1,30,1,86
我没有 powershell 知识,但我在网上找到了一些脚本,它做了我想要的:
Import-Csv maparadar.csv
| Group-Object -Property {($_.x)[0..2] -join ""}
| Foreach-Object {$path=$_.name+".csv" ; $_.group
| Export-Csv -Path $path -NoTypeInformation}
有了这个,我得到了像 -44.csv、-54.csv 这样的输出文件 但它会在输出文件中的每个字段中添加不需要的引号,例如:
"X","Y","TYPE","SPEED","DirType","Direction"
"-46.521991","-23.690235","1","30","1","169"
"-46.670774","-23.756021","1","30","1","281"
"-46.549897","-23.120720","1","30","1","99"
有什么方法可以在不添加引号的情况下导出 csv?
【问题讨论】:
-
这是 CSV 文件应该采用的“官方”方式。 [grin] 不幸的是,当前版本的 PoSh 不允许禁用它。 [sigh ...] 如果你想删除它们,你需要使用
Get-Content加载文件,然后使用字符串替换运算符/方法之一来删除它们。 -
我还没有尝试过,但是如果没有 -csv 开关,你会得到什么输出?我猜你应该得到一个未处理的 txt 文件(但扩展名为 csv,因为它在你的路径中指定)
标签: powershell csv