导出文件中的^ M个字符,转换为换行符

我从excel中导出一个CSV来parsing使用python。 当我打开vim的CSV,我注意到,这是所有换行应该是^ M字符的一行。

Name, Value, Value2, OtherStuff ^M Name, Value, Value2, OtherStuff ^M 

我有parsing的文件,以便修改值并将其放入一个string中(在csvreader中使用“rU”模式)。 但是,string没有换行符。 所以我想知道,有没有办法在这个^ M字符上拆分string,或者用\ n来replace它的方法?

^M是vim如何显示窗口行尾的

dos2unix命令应该为您解决这些问题:

 dos2unix my_file.csv 

这是由于Windows / Unix上不同的EOL格式造成的。

在Windows上,它是\r\n

在Unix / Linux / Mac上,这只是\n

^M实际上是vim显示你的窗口CR(回车)或\r

python open命令文档有关于处理Universal Newlines的更多信息: http : //docs.python.org/2/library/functions.html#open

如果你使用的是unix系统,有一个名为dos2unix (及其对应的unix2dos )的程序可以完成这个转换。

但是,这几乎是这样的:

 sed -i -e 's/$/\r/' file