使用逗号将.txt文件解析为.csv

时间:2014-05-14 14:28:14

标签: python excel parsing powershell csv

我通常不会做很多解析,但需要一些帮助。我有一个纯文本文件,其格式如下。

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
}

2 个答案:

答案 0 :(得分:4)

您无需代码即可完成此操作。将扩展名重命名为" .csv"然后在Excel中打开它。

您还可以使用"获取外部数据"自定义导入的选项。我相信你甚至可以在不改变文件扩展名的情况下做到这一点。

试一试。

答案 1 :(得分:0)

您不需要进行任何解析,只需使用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