我在这里找到了一个漂亮的命令 - http://www.stackoverflow.com/questions/27892957/merging-multiple-csv-files-into-one-using-powershell我用来合并 CSV 文件 -
Get-ChildItem -Filter *.csv | Select-Object -ExpandProperty FullName | Import-Csv | Export-Csv .\merged\merged.csv -NoTypeInformation -Append
Run Code Online (Sandbox Code Playgroud)
现在,这正如其上所说的那样,并且在大多数情况下都非常有效。但是我有两个问题,我想知道是否有办法可以克服它们:
首先,合并的 csv 文件具有 CRLF 行结尾,我想知道在生成文件时如何使行结尾仅为 LF?
另外,看起来有一些恶作剧添加/移动了引号。举个例子:
初始 CSV 中的示例行:
"2021-10-05"|"00:00"|"1212"|"160477"|"1.00"|"3.49"LF
Run Code Online (Sandbox Code Playgroud)
合并的 CSV 中的同一行:
"2021-10-05|""00:00""|""1212""|""160477""|""1.00""|""3.49"""CRLF
Run Code Online (Sandbox Code Playgroud)
因此,可以看到第一行丢失了尾随引号,其他字段有双引号,并且行末尾有一个附加引号。我不太确定这里发生了什么,所以任何帮助将不胜感激!
为了处理引号, \xe2\x80\x9cproblem\xe2\x80\x9d 的原因是您的 CSV 不使用默认字段分隔符,该分隔符Import-CSV假定 - CSV中的C代表逗号,而您\xe2\x80 \x99re 使用竖线。将参数添加到和cmdlet。-Delimiter "|"Import-CSVExport-CSV
我不认为\xe2\x80\x99t 可以对行结束字符(CRLF 与 LF)做任何事情;\xe2\x80\x99s 几乎肯定与操作系统相关。
\n| 归档时间: |
|
| 查看次数: |
166 次 |
| 最近记录: |