所以我有一个CSV文件。
当我运行file --mime-encoding file.csv
时,它说它使用的是UTF-8。
但是,当我在Python pandas DataFrame中读取文件并开始查看字符串时,其中一些包含\ xa0(这是Latin1(ISO 8859-1)中的不间断空格)。
此文件包含来自不同网站的信息。
这怎么可能,为什么它们不显示为不间断空格?为什么在写入似乎是UTF-8的文件之前,它们没有正确编码?
怎么可能
文件只是一系列字节。文件完全有可能包含不同编码的字节串。
为什么它们不显示为不间断空格
显示在哪里?它们显示为\xa0
。
为什么它们在写入似乎是UTF-8的文件之前没有正确编码?
您没有提到CSV的来源,因此无法确定。
[很可能,您的CSV包含来自具有不同编码的来源的数据。您可能需要猜测文件中每一行而不是整个文件的编码。 chardet
包可以帮助您猜测正确的编码,但这只是一个猜测。