导入Excel,使用PowerShell导出CSV [英] Import Excel, Export CSV with PowerShell

查看:692
本文介绍了导入Excel,使用PowerShell导出CSV的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

由于限制,我需要使用VB或PowerShell来执行此任务。

Due to restrictions I either need to use VB or PowerShell for this task.

我有一个类似如下的Excel:

I have an Excel that looks like:

ColumA,              ColumB,ColumC,ColumD,ColumE,ColumF
000|Txt,MoreTxt ,    ColumB,ColumC,ColumD,ColumE,ColumF

我读到关于import_csv -header,但我成功了。我会在下面发布我的脚本。我期望的出口是:

I read about import_csv -header, but I'm under to successfully do it. I'll post my script below. The export I expect is:

ColumA, ColumB, ColumC, ColumD, ColumE, ColumF
000,    ColumB, ColumC, ColumD, ColumE, ColumF

只有Colum得到修改,那个管子。它还必须保持三位数,所以1变成001等。

Only Colum gets modified, and I -only- need the digits from before that pipe. It also has to stay three digits, so 1 becomes 001, etc.

这是我根据以前的一些查询和MS教程修改的脚本。 / p>

This is the script I modified based on some previous inquiries I saw, and the MS Tutorial.

   $file = import-csv "C:\path\to\my\file\test.csv"
    foreach ($row in $file){
        $tempfile = New-Object psobject -Property @{
            ColumA = $row. 'ListName'.substring(0,2)
            ColumB = $row. 'ColumB'
            ColumC = $row. 'ColumC'
            ColumE = $row. 'ColumE'
            ColumF = $row. 'ColumF'
        }
        $expandfile = @()
        $expandfile += $tempfile | select ColumA, ColumB, ColumC, ColumD,  ColumE, ColumF
    }

错误不喜欢一切我在引号(我认为是列名,但我猜不是,还有一个解析错误整个数组。基本上整个脚本。

PS gives me both errors on not liking everything I have in quotes (Which I thought was the column name, but I guess not. And also a parse error on the entire array. Essentially the entire script.

UPDATE
提供来源的实例。

UPDATE Providing real examples of source.

"Tiam
Name",SiamName,Siam,Ciam,Piam,Liam,Niam,Diam
"002|City, State","City, State - Some text (15092)",1,"3,408",99,"3,408",780,22.89%
"009|City, State","City, State - Some Text (E) (15450)",1,"1,894",81,"1,894",543,28.67%


推荐答案

编辑:

$expandfile = Import-Csv "C:\path\to\my\file\test.csv" | ForEach-Object {
    $_."Tiam`r`nName" = $_."Tiam`r`nName".SubString(0,3)
    $_
}

这篇关于导入Excel,使用PowerShell导出CSV的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆