gpt4 book ai didi

windows - PowerShell脚本不保留源文件的编码

转载 作者:行者123 更新时间:2023-12-03 01:29:11 25 4
gpt4 key购买 nike

我有一个非常大的csv源文件,为了能够更有效地工作,我决定将其拆分为较小的文件块。为此,我执行以下脚本:

Get-Content C:\Users\me\Desktop\savedDataframe.csv -ReadCount 250000 | %{$i++; $_ | Out-File C:\Users\me\Desktop\Processed\splitfile_$i.csv}

如您所见,这些是包含字母数字数据的csv文件。因此,我遇到了与此字符串类似的问题:

Hämeenkatu 33



在目标文件中,它看起来像这样:

Hämeenkatu 33



我试图确定源文件的编码,它是UTF-8(如 here所述)。我真的很想知道为什么它在目标中变得如此混乱。我还尝试了以下内容来明确告诉我,我希望编码为UTF8,但没有成功:
Get-Content C:\Users\me\Desktop\savedDataframe.csv -ReadCount 250000 | %{$i++; $_ | Out-File -Encoding "UTF8" C:\Users\me\Desktop\Processed\splitfile_$i.csv}

我正在使用运行Windows 10的Windows计算机。

最佳答案

输入文件是否包含Bom?尝试get-content -encoding utf8。外文件默认为utf16le或Windows和Powershell称为“unicode”的文件。

Get-Content -encoding utf8 C:\Users\me\Desktop\savedDataframe.csv -ReadCount 250000 | 
%{$i++; $_ |
Out-File -encoding utf8 C:\Users\me\Desktop\Processed\splitfile_$i.csv}

除非您使用powershell 6或7,否则输出文件将带有bom。

关于windows - PowerShell脚本不保留源文件的编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59826802/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com