导出文件中的^ 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