【发布时间】:2015-05-08 15:21:02
【问题描述】:
我有一个 csv 文件,想输出一个新的 csv 文件,它只包含原始文件的前 10 行。 到目前为止,我只找到了删除单行或包含某个单词的行的代码。它可能是一个 15 个字符的单行,但我不知道如何处理这个问题,任何帮助将不胜感激。我不指望你写代码,只要正确的命令就能帮助我。
【问题讨论】:
标签: powershell csv
我有一个 csv 文件,想输出一个新的 csv 文件,它只包含原始文件的前 10 行。 到目前为止,我只找到了删除单行或包含某个单词的行的代码。它可能是一个 15 个字符的单行,但我不知道如何处理这个问题,任何帮助将不胜感激。我不指望你写代码,只要正确的命令就能帮助我。
【问题讨论】:
标签: powershell csv
Get-Content in.csv -Head 10 > out.csv
【讨论】:
Get-Content "C:\start.csv" | select -First 10 | Out-File "C:\stop.csv"
做到了
【讨论】:
-Head 10 的答案会更有效,因为它不必读取整个文件。
IEnumerable 类(或具有类似行为的东西)正在幕后用于所有这些命令和管道运算符。
推荐使用 -TotalCount 参数。特别是,如果您有一个大的 CSV 文件。 这样,您将只读取 CSV 文件的前 10 行,而不是读取所有行,选择前 10 行并提取它们。
Get-Content C:\Temp\Test.csv -TotalCount 3 | Out-File C:\Temp\Test10lines.csv
这适用于 Powershell 2 及更高版本。
【讨论】:
你也可以使用
(Get-Content yourfile.csv)[0 .. 11]>outputfile.csv
请务必包含标题行,否则您可能会遇到问题。您还可以更改数字以获取所需的任何行。 first 和 head 标志对我不起作用。
【讨论】:
Windows PowerShell
Get-Content -First 10'C:\Users\jason\Desktop\big_file.csv'
【讨论】: