【发布时间】:2020-11-17 06:00:45
【问题描述】:
我正在尝试使用 powershell 将 CSV 文件分成多个文件,然后根据 CSV 文件中的值重命名它们。这是我目前所拥有的,但它所做的只是根据计数器而不是 CSV 文件中的值来命名文件。
$sourceCSV = "c:\01_daily.csv"
$startrow = 0
$counter = 1
while ($startrow -lt $item)
{
Import-CSV $sourceCSV |
select-object -skip $startrow -first 1 |
ConvertTo-Csv -NoType |
Select-Object -Skip 1 |
Set-Content "c:\daily$($counter).csv";
$startrow += 1 ;
$counter++ ;
}
```[enter image description here][1]
Any suggestions would be greatly appreciated.
Thank you.
【问题讨论】:
-
[1]你想如何生成文件名? _请详细点! [grin] [2] 你想达到什么目的?有更简单的方法可以将文本文件分成“这么多行”的块。例如,
Get-Content有一个-LineCount参数... -
我有一个包含 14 个单元格的 CSV 文件。我希望文件名是 10 单元格之后的名称。但是在 10 单元格中有 .pdf 我不需要。例如,单元格 10 是 David.PDF。我只需要将新的 csv 文件命名为 David.CSV。我不希望文件名中包含 .PDF。所以最终的文档将在第 10 个单元格之后命名,并包含行内的所有信息。
-
请在您的问题中添加输入文件前 3-5 行的示例、您希望发送到每个输出文件的内容以及如何命名每个输出文件。您当前的描述似乎表明只向每个文件发送一行,并在第 10 列中的部分值之后对其进行命名。 与您发布的代码完全不符。 [grin]
-
请...不要发布数据/错误/代码的图片。我请求的原因是允许根据您的要求测试代码。您真的希望任何人输入您的数据只是为了帮助您...当您已经将这些数据作为 text 获得时?
标签: powershell csv split rename