在Powershell中将日志文件导出到新的CSV文件

问题描述

我觉得我走错路了,但是我已经半途而废了……我有一个名为DataSet.log的日志文件,其格式为:

First Dataset;24226382;2020-10-01 00:00;Second.Data.Set 1.0;0;Third.DataSet 1.0;2;Fourth.DataSet 1.0;0;Fifth.Dataset 1.0;0
First Dataset;24421469;2020-10-01 01:00;Second.Data.Set 1.0;0;Third.DataSet 1.0;4;Fourth.DataSet 1.0;0;Fifth.Dataset 1.0;0
First Dataset;24667838;2020-10-01 02:00;Second.Data.Set 1.0;0;Third.DataSet 1.0;6;Fourth.DataSet 1.0;0;Fifth.Dataset 1.0;0
First Dataset;24667839;2020-10-01 02:00;Second.Data.Set 1.0;0;Third.DataSet 1.0;1;Fourth.DataSet 1.0;0;Fifth.Dataset 1.0;0

我正在尝试将其转换为新的CSV文件,并使其仅显示第三和第七列。我已将其正确显示在PowerShell中,方法如下:

Import-Csv .\DataSet.log -Header A,B,C,D,E,F,G,H,I,J,K -Delimiter ';' | Format-Table C,G

我尝试将其导出为:

$testPush = Import-Csv .\DataSet.log -Header A,G

$testPush | Out-File .\test.csv

它确实创建了一个新的csv文件,但只显示标题为“ C G”的第三列。另外,该标头位于A2中,其中A1为空白,并且在第三列的日期时间填充其余行之前,A3填充了“--” ...我到底在做什么错了?

解决方法

尝试一下:

 $testPush = Import-Csv .\DataSet.log -Header A,B,C,D,E,F,G,H,I,J,K -Delimiter ';' | Select-Object C,G
 $testPush | Export-CSv -Path .\test.csv -NoTypeInformation

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...