如何在CSV中手动指定字节顺序标记

时间:2014-11-21 17:53:06

标签: excel csv byte-order-mark

我有一个用Unicode编码的CSV,但在开头没有字节顺序标记。因此,Excel(2013)在没有正确编码的情况下打开(我认为如果没有指定BOM,它会假定为ASCII),这意味着某些字符会被显示出来。

从阅读中我已经读到应该在CSV文件的开头输入“\ uFEFF”的BOM。我尝试在txt编辑器中打开并添加字符,例如

\uFEFF
r1test 1, r1text2, r1text3     
r2test 1, r2text2, r2text3   

然而,这并没有解决问题 - 当我在excel中打开时,字符“\ uFEFF”出现在第一行,而不是被解释为BOM。我不确定我做错了什么,以及如何指定文本的格式,使其被解释为BOM,而不是第一个数据中的文本

我使用CSV的经验非常有限,只听说过BOM ...因此我可能完全错误地实现了这一点!

(作为参考,我知道如果我在excel中使用导入数据选项我可以指定编码...但是我真的想知道如何事先正确指定它以便我可以打开csv ...我有几千个这样的文件,我正在创建和导出 - 一旦我知道如何'手动'[即通过在文件的开头添加一些文本],我可以配置为自动执行Python) 。

提前致谢

1 个答案:

答案 0 :(得分:0)

对于其他想要告诉Excel添加BOM的人:看看是否可以“另存为Unicode文本”。

source