CSV 格式不正确?

2024-03-05

我正在 Powershell 中使用 EXPORT-CSV 生成 CSV,然后将其提供给 Perl 脚本。但 Perl 无法导入该文件。

我已经根据工作版本(从相同的 Perl 脚本而不是 powershell 导出)验证了 CSV 文件,没有任何区别。这些列完全相同,并且都以分号作为分隔符。如果我在 Excel 中打开文件,那么所有内容都会出现在每行的第一个单元格中(这意味着我必须执行文本到列的操作)。工作文件从一开始就位于不同的单元格中。

更令人困惑的是:当我在记事本中打开文件并将内容复制/粘贴到新文件时,导入有效!

那么,我错过了什么?是否有我无法用记事本发现的“隐藏”属性?我必须更改编码类型吗?

请帮忙:)


要更好地查看您的 CSV 文件,请尝试使用记事本++ http://notepad-plus-plus.org/。这将告诉您状态栏中的文件编码。还可以打开隐藏字符(“视图”>“显示符号”>“显示所有字符”)。这将显示是否只有换行符,或回车+换行符,制表符与空格等...您还可以从“编码”菜单更改文件编码。这可以帮助您识别差异。记事本不显示任何此类信息。

Update- 以下是如何用代码将文本文件从 Windows 格式转换为 Unix 格式:

$allText = [IO.File]::ReadAllText("C:\test.csv") -replace "`r`n?", "`n" 
$encoding = New-Object System.Text.ASCIIEncoding    
[IO.File]::WriteAllText("C:\test2.csv", $allText, $encoding)

或者您可以使用 Notepad++(编辑 > EOL 转换 > Unix 格式)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

CSV 格式不正确? 的相关文章

随机推荐