CSV的格式不正确?

Sun*_*une 4 csv excel powershell perl export-to-csv

我在Powershell中生成带有EXPORT-CSV的CSV,然后将其提供给Perl脚本.但Perl无法导入该文件.

我已经针对工作版本(已经从相同的Perl脚本而不是PowerShell导出)验证了CSV文件,并且没有区别.coloumns完全相同,它们都有分号作为分隔符.如果我在Excel中打开文件,但所有内容都会在每行的第一个单元格中结束(这意味着我必须进行文本到颜色).工作文件从一开始就在不同的单元格中结束.

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

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

请帮忙:)

And*_*ndi 6

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

更新 - 以下是如何在代码中将文本文件从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)
Run Code Online (Sandbox Code Playgroud)

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