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

时间:2013-07-19 17:50:58

标签: python excel python-2.7 newline

我使用python从excel导出CSV到解析。当我打开vimmed的CSV时,我注意到它只是一行^ M字符应该是新行。

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

我对文件进行了解析,以便修改值并将其放入字符串中(在csvreader中使用“rU”模式)。但是,该字符串没有换行符。所以我想知道,有没有办法在这个^ M字符上拆分字符串,或者用\ n来替换它?

2 个答案:

答案 0 :(得分:3)

^M是vim如何显示windows end-of-line的

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

dos2unix my_file.csv

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

在Windows上,它是\r\n

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

^M实际上是vim,向您显示Windows CR(回车)或\r

python open命令文档提供了有关处理通用换行符的更多信息:http://docs.python.org/2/library/functions.html#open

答案 1 :(得分:1)

如果您使用的是unix系统,则会有一个名为dos2unix的程序(及其对应的unix2dos)将完全执行该转换。

但是,它几乎与以下内容相同:

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