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

Python ^导出文件中的M个字符,转换为换行符,python,excel,python-2.7,newline,Python,Excel,Python 2.7,Newline,我从excel导出了一个CSV以使用python进行解析。当我打开vimmed和CSV时,我注意到换行符应该是一行^M字符 Name, Value, Value2, OtherStuff ^M Name, Value, Value2, OtherStuff ^M 我对文件进行了解析,以便修改值并将其放入字符串中(在csvreader中使用“rU”模式)。但是,字符串没有换行符。所以我想知道,有没有办法拆分这个^M字符上的字符串,或者用一个\n替换它的方法?^M是vim显示windows行尾字符

我从excel导出了一个CSV以使用python进行解析。当我打开vimmed和CSV时,我注意到换行符应该是一行^M字符

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

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

^M
是vim显示windows行尾字符的方式

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

dos2unix my_file.csv
这是因为Windows/Unix上的EOL格式不同

在windows上,它是
\r\n

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

^M
实际上是显示windows CR(回车)或
\r


python
open
命令文档提供了有关处理通用换行符的更多信息:

如果您在unix系统上,则有一个名为
dos2unix
(及其对应的
unix2dos
)的程序将精确地执行该转换

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

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

这实际上是一个
\r