perl – CSV格式不正确?
发布时间:2020-12-15 23:22:08 所属栏目:大数据 来源:网络整理
导读:我在Power shell中生成带有EXPORT-CSV的CSV,然后将其提供给Perl脚本.但Perl无法导入该文件. 我已经针对工作版本(已经从相同的Perl脚本而不是PowerShell导出)验证了CSV文件,并且没有区别. coloumns完全相同,它们都有分号作为分隔符.如果我在Excel中打开文件,
我在Power
shell中生成带有EXPORT-CSV的CSV,然后将其提供给Perl脚本.但Perl无法导入该文件.
我已经针对工作版本(已经从相同的Perl脚本而不是PowerShell导出)验证了CSV文件,并且没有区别. coloumns完全相同,它们都有分号作为分隔符.如果我在Excel中打开文件,但所有内容都会在每行的第一个单元格中结束(这意味着我必须进行文本到颜色).工作文件从一开始就在不同的单元格中结束. 更令人困惑的是:当我在记事本中打开文件并将内容复制/粘贴到新文件时,导入工作正常! 那么,我错过了什么?是否有“隐藏”属性,我无法用记事本发现?我是否必须更改编码类型? 请帮忙:) 解决方法
要更好地查看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) 或者您可以使用记事本(编辑> EOL转换> Unix格式). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |