powershell - 如何使用 PowerShell 从包含数据的 CSV 文件中提取特定字段
问题描述
我正在尝试使用 CSV 文件中的数据提取特定字段,但是当我运行以下脚本时,我确实只获得了没有数据的字段。
尝试了 PowerShell 脚本并获得了文件,但它是空的。
$folderPath = 'D:\Data\Orignal\'
$folderPathDest = 'D:\Data\New\'
$desiredColumns = 'ID','TC', 'POINTS_AT','POINTS_DESC','SURVEYSENT'
Get-ChildItem $folderPath -Name | ForEach-Object {
$filePath = $folderPath + $_
$filePathdest = $folderPathDest + $_
Import-Csv $filePath |
Select $desiredColumns |
Export-Csv -Path $filePathDest -NoTypeInformation
}
我确实希望数据也应该与字段一起导出!
这是我尝试从中提取字段的示例数据。这是示例文件,我有大转储。
ID;TC;POINTS_AT;POINTS_DESC;SURVEYSENT;STATUSCHECK;MEM_REQ;EXPIRY_DAT 1;真;5;SUBS;真;08.08.2018;真;20.12.2020 2;真;3;SUBS;真;08.08.2018;真;20.12.2020 3;假;2;SUBS;真;08.08.2018;假;20.12.2020 4;真;5;取消订阅;真;08.08.2018;假;20.12.2020 5;真;1;取消订阅;真;08.08.2018;真;20.12.2020 6;假;1;取消订阅;真;08.08.2018;真;20.12.2020
解决方案
;
调用时定义为分隔符Import-Csv
。默认分隔符是,
,因此 cmdlet 将无法拆分不同的列。基于此,Select-Object
不会找到给定的属性,并将返回具有空属性的对象。
分隔符
指定分隔 CSV 文件中的属性值的分隔符。默认值为逗号 (,)。
输入一个字符,例如冒号 (:)。要指定分号 (;),请将其括在单引号中。
推荐阅读
- sql - 使用 VBA 将 Excel 数据导入 SQL Server 表
- c - 使用打印的 LLONG_MIN 初始化 long long 会发出警告:整数常量太大以至于它是无符号的:为什么以及如何解决?
- three.js - 通过 dat.gui 下拉菜单更新 three.js 纹理
- scrollable - 为什么 Swiper Scrollcontainer 在水平方向上不起作用
- flutter - 颤动改变图像onPressed
- python - 当在 DRF 中接收到图像的 URL 时,如何将图像转换为“InMemoryUploadedFile”?
- events - 如何将 woocommerce 订单添加到谷歌日历?
- javascript - next.js 动态导入时的 ESLint react/display-name 错误
- multithreading - 为什么linux省略驱动关闭功能
- python - 在python中使用网络抓取提取值属性