Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Powershell 分析CSV文件以查找趋势或缩写_Powershell_Csv - Fatal编程技术网

Powershell 分析CSV文件以查找趋势或缩写

Powershell 分析CSV文件以查找趋势或缩写,powershell,csv,Powershell,Csv,我经常要面对数据(电子表格、配置等),我必须进行分析,试图找出可能导致事情发生的原因。有时是好的,但通常是坏的,通常是我以前从未看过的数据,通常可能不熟悉 我试着寻找一种高级分析工具,这种工具可以寻找重复的短语或其他可能更容易理解数据趋势的东西,但找不到任何东西 我发帖有两个原因 我希望能有人推荐一些能做这种分析的软件 我写了一个powershell脚本,它做了一个非常基本的分析,我想分享它,我希望对它进行改进(包括将它封装到函数中) 我编写的代码只计算每个条目在每列中出现的次数,根据该计数

我经常要面对数据(电子表格、配置等),我必须进行分析,试图找出可能导致事情发生的原因。有时是好的,但通常是坏的,通常是我以前从未看过的数据,通常可能不熟悉

我试着寻找一种高级分析工具,这种工具可以寻找重复的短语或其他可能更容易理解数据趋势的东西,但找不到任何东西

我发帖有两个原因

  • 我希望能有人推荐一些能做这种分析的软件
  • 我写了一个powershell脚本,它做了一个非常基本的分析,我想分享它,我希望对它进行改进(包括将它封装到函数中)
我编写的代码只计算每个条目在每列中出现的次数,根据该计数进行排序,并输出格式化结果

#开始之前,请设置以下各项 $SourceFile=Get ChildItem“\SomeFile.csv” $OutputFile=&{$d=$SourceFile.Directory;$n=$SourceFile.BaseName;$e=$SourceFile.Extension;“$d\$n”+“\u Stats”+“$e”}这只是将_Stats附加到源文件名 #$Data=gci#用于测试 $Data=导入Csv$SourceFile $ColumnList=$Data | Get Member | where object{$\.MemberType-eq“NoteProperty”}ForEach object{$\.Name} $CountedData=$ColumnList | ForEach对象{ $ThisColumn=$\; $Data |组对象$ThisColumn |选择对象@{ n=“ColumnName”; e={$ThisColumn} },伯爵@{ n=“值”; e={$\u.Name} } }|排序-递减计数,列名,值#列名,计数,值 $Results=“” $CountedData |组对象列名称| ForEach对象{ $ThisColumn=$\名称; $ThisGroup=$\组; $Results=“$Results`n$ThisColumn”; $ThisGroup | ForEach对象{ $ThisCount=$\u.Count; $ThisValue=$\u0.Value; $Results=$Results+“,($ThisCount)$ThisValue” } } $Results |输出文件$OutputFile 启动$SourceFile.Directory
  • 您应该签出(这是在您的浏览器中运行的可下载软件)。它在清理混乱的CSV文件方面做得非常好
  • 是一组Python工具(和完整的CLI应用程序),用于生成CSV文件的统计信息

但是如果你真的想认真对待数据挖掘,你应该看看

我会看看R语言和RStudio。它用于对大型数据集进行统计分析。无数的图书馆

#Before You Begin, Set the following $SourceFile = Get-ChildItem ".\SomeFile.csv" $OutputFile = &{$d=$SourceFile.Directory; $n=$SourceFile.BaseName; $e=$SourceFile.Extension; "$d\$n"+"_Stats"+"$e"} #This just appends _Stats to the source filename #$Data = gci . #For Testing $Data = Import-Csv $SourceFile $ColumnList = $Data|Get-Member|where-object{$_.MemberType -eq "NoteProperty"}|ForEach-Object{$_.Name} $CountedData = $ColumnList|ForEach-Object{ $ThisColumn = $_; $Data|Group-Object $ThisColumn|Select-Object @{ n="ColumnName"; e={$ThisColumn} },Count, @{ n="Value"; e={$_.Name} } }|Sort -Descending Count,ColumnName,Value #ColumnName, Count, Value $Results="" $CountedData|Group-Object ColumnName|ForEach-Object{ $ThisColumn=$_.name; $ThisGroup=$_.Group; $Results="$Results`n$ThisColumn"; $ThisGroup|ForEach-Object{ $ThisCount=$_.Count; $ThisValue=$_.Value; $Results=$Results+",($ThisCount) $ThisValue" } } $Results|Out-File $OutputFile start $SourceFile.Directory