如何解决在Powershell中使用export-csv命令时查询有关csv文件格式的信息
我熟悉使用Powershell将数据导出到csv的过程,但是特定的供应商希望在特定类型“ CSV”的文件中接收数据。如果我使用以下示例命令,则数据以原始的csv格式(即通过记事本)看起来很好,在这里您看到它用逗号分隔...
,JVF1033292,测试,SL,10700,6804626,745.586,43001843,测试,8/12 / 2020,8 / 14/2020,T,5584,,JPY,0,XTKS,JVF1033293,test,SL,3695,6805179,1362.8457,43001843,Test,8/12 / 2020,8 / 14/2020,T,3524,,JPY,0,XTKS,0 >
...但是在Excel中打开同一文件时,所有数据都位于一行中,因此在供应商方面将失败。我正在使用的代码如下。
profile.set_preference("permissions.default.screen_sharing",1)
如果我使用以下代码,则它在Excel中看起来很好(正确制表),但是原始文件也被制表了,并且没有逗号分隔,这是供应商遇到的问题。
$Table | ConvertTo-Csv -NoTypeInformation | ForEach-Object {$_-replace "`"",""} | select -skip 1 | out-file -filepath ("$dir_opr\LVT\Export\CTO\ForJefferies\GMO_Jefferies_Trade_Data_" + $Date+ ".csv")
X JVF1032244测试450.0000 BYM41J3 10.00000000 43001843测试08/11/2020 08/13/2020 T 3.00日元0 XTKS 0.00
X JVF1032245测试200.0000 BYM41J3 250.00000000 43001843测试08/11/2020 08/13/2020
是否可以创建一个用逗号分隔并制表的原始文件,该文件在Excel中也有分隔符,所以不是一列都包含吗?
解决方法
据我所知,在本地进行测试,可能是由于out-file
使用的默认编码-即utf8NoBOM
。 (有关详细信息,请参见-Encoding
参数的描述:https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.utility/out-file?view=powershell-7)
尝试out-file -filepath $myfile -encoding utf8
-似乎可以将其修复在我的计算机上。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。