加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

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格式).

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读