【发布时间】:2020-03-23 23:07:34
【问题描述】:
我正在尝试按用户 ID 拆分 csv 文件
UserId;FirstName;LastName;Start;End;Type;BreakInMinutes;DateOfCreation;DateOfUpdate
1206;Viktoria;Jechsmayr;2017-10-04 08:15:00.000;2017-10-04 16:15:00.000;work;30;04.10.2017 16:07;05.10.2017 12:31
1205;Brigitte;Jechsmayr;2017-10-05 12:15:00.000;2017-10-05 16:15:00.000;work;0;05.10.2017 12:32;05.10.2017 16:15
1207;Lisa;Jechsmayr;2017-10-06 08:40:00.000;2017-10-06 12:00:00.000;work;0;05.10.2017 15:51;06.10.2017 08:42
1206;Viktoria;Jechsmayr;2017-10-09 08:25:00.000;2017-10-09 16:35:00.000;work;30;09.10.2017 08:23;09.10.2017 16:34
1204;Karl;Jechsmayr;2017-10-11 08:15:00.000;2017-10-11 16:30:00.000;work;60;11.10.2017 08:24;11.10.2017 16:14
1204;Karl;Jechsmayr;2017-10-12 12:30:00.000;2017-10-12 16:45:00.000;work;0;12.10.2017 12:39;12.10.2017 16:43
1205;Brigitte;Jechsmayr;2017-10-13 08:10:00.000;2017-10-13 12:25:00.000;work;0;13.10.2017 08:13;16.10.2017 07:41
1207;Lisa;Jechsmayr;2017-10-16 07:30:00.000;2017-10-16 17:05:00.000;work;30;16.10.2017 07:41;16.10.2017 17:05
我正在尝试按 UserId-Column(1400 个不同的用户 ID)拆分文件(>750.000 行)。 一个 UserId 的所有数据集都应该被移动/复制到一个单独的 csv 文件,名为 UserId_LastName-FirstName.csv
我不知道该怎么做。我在 Windows 10 电脑上工作。 我已经尝试了在 stackoverflow/google 上找到的各种脚本。似乎不起作用: export 生成一个没有名称和 0KB 大小的“.csv”(空) 或者它什么都不做。
我试过了:
Import-Csv file.csv | Group-Object -Property "UserId" |
Foreach-Object {$path=$_.name+".csv" ; $_.group |
Export-Csv -Path $path -NoTypeInformation}
生成:文件内容与 Origin 相同,但在每行的开头和结尾都带有“”,文件名 .csv(只是扩展名,没有名称)
awk -F',' 'UserId==NR{a[$1]++;next} a[$1]==1' file.csv file.csv
输出:无 - 无文件无错误
还有一些其他的——我再也找不到了——抱歉。
感谢您的帮助。
【问题讨论】:
-
“似乎不起作用......” - 以哪种方式?错误?结果部分正确?电脑着火了? :) 请记住,我们看不到您的屏幕
-
我尝试的脚本“生成”一个没有名称的空 (0KB) 文件,或者它什么都不做。
-
请发布您正在使用/尝试的脚本,以及错误结果
-
请发布来自
Import-Csv file.csv | Select -First 2的输出,以便我们检查导入是否正确。也许是分隔符的问题。 -
@robdy
Please post output from Import-Csv file.csv | Select -First 2的输出如上所示。所以导入是正确的
标签: windows powershell csv awk scripting