在 Powershell 中合并多个 CSV 文件时出现问题

Cam*_*Cam 1 csv powershell

我在这里找到了一个漂亮的命令 - 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)

因此,可以看到第一行丢失了尾随引号,其他字段有双引号,并且行末尾有一个附加引号。我不太确定这里发生了什么,所以任何帮助将不胜感激!

Jef*_*lin 5

为了处理引号, \xe2\x80\x9cproblem\xe2\x80\x9d 的原因是您的 CSV 不使用默认字段分隔符,该分隔符Import-CSV假定 - CSV中的C代表逗号,而您\xe2\x80 \x99re 使用竖线。将参数添加到和cmdlet。-Delimiter "|"Import-CSVExport-CSV

\n

我不认为\xe2\x80\x99t 可以对行结束字符(CRLF 与 LF)做任何事情;\xe2\x80\x99s 几乎肯定与操作系统相关。

\n