我有一个问题,当我从csv导入时,我会在每个字符之间获得这些空格。解决这个问题的简单方法是将csv编码更改为ansi / ascii,但这只会在打开文件并保存为指定编码时进行。我试过了:
(Get-Content -Path $path) | Out-file -FilePath $path -Encoding "ASCII"
)
起初我认为这有效,但这是因为我之前已经完成了文件中的保存并忘记了它。
我导入的csv在导入之前看起来像这样。
C:\temp,C:\temp,17.2MB, 0
但是当导入csv时,像字符这样的空间会涉及:
我不知道你能在那张照片中看到它的效果如何,但文字是:
C : \ t e m p, C : \ t e m p, 1 7 . 2 M B, 0
此空间阻止我搜索我的数据。
基本上有办法找出那个角色是什么,所以我可以摆脱它吗?还是有另一种方法来改变编码?
答案 0 :(得分:1)
当我们无法访问该文件时,我们很难回答您的编码,但很明显,将文件编码保存为使用更多位(ex 16 / 32bit)然后编码PowerShell猜对了是(例如7 / 8bit,因为你没有指定编码)。
使用Import-CSV
(UTF16),Import-CSV -Path Myfile.csv -Encoding Unicode
等在-Encoding UTF32
- 命令中尝试不同的编码。