使用逗号将.txt文件parsing为.csv

我通常不会做太多的parsing,需要一些帮助。 我有一个纯文本文件,具有以下格式。

IP, Status, Server_Name, DNS_Name, Version, Authentication IP, Status, Server_Name, DNS_Name, Version, Authentication IP, Status, Server_Name, DNS_Name, Version, Authentication etc.. 

不幸的是,当我尝试简单的复制并粘贴到电子表格上时,出于某种原因,我无法将整个电子表格粘贴到单独的单元格上。 相反,每当我粘贴我把整个电子表格放入一个单元格。 我想我可以设法使用python或powershell做到这一点,任何方法适用于我,我有麻烦的是实施。 我想用每个对象之间的逗号作为表示新单元格的方法。

目前试图使用Powershell我有以下不起作用(我不介意在Python中做这个)。

 $pattern = ',' $content = Get-Content D:\Scripts\Temp\p.txt | Out-String $content.Split($pattern) | Where-Object {$_ -match ','} | ForEach-Object { $item = $_ -split "," | Where-Object {$_} New-Object PSobject -Property @{ Name=$item[0].Split(',')[-1].Trim() Id = $item[1].Split(',')[-1].Trim() ResolutionPath=$item[2].Split(',')[-1].Trim() Endpoints=$item[4..($item.Count)] } | Select-Object Name,Id,ResolutionPath,Endpoints } 

你可以做这个没有代码。 将扩展名重命名为“.csv”,然后在Excel中打开它。

您也可以使用“获取外部数据”选项来自定义导入。 我相信你可以做到这一点,即使不改变文件扩展名。

试试看

您不需要执行任何parsing,只需使用Import-CSV cmdlet即可。

 Import-CSV C:\path\to\yourfile.csv -Header "IP","STATUS","Server_Name","DNS_Name","Version","Authentication" 

在这里了解更多信息: http : //technet.microsoft.com/en-us/library/ee176874.aspx