Python ^导出文件中的M个字符,转换为换行符
我从excel导出了一个CSV以使用python进行解析。当我打开vimmed和CSV时,我注意到换行符应该是一行^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行尾字符
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
。