我有一串文字。该字符串中包含多个换行符。我想创建一个包含此字符串的csv,以便将其导入excel。但是因为这一点,我相信我必须将所有新行转换为回车并将文本用引号括起来。
然而,当尝试转换少量文本时,我得到以下结果:
之前
>>> abc = "\nA\nB\nC\nD\nE\nF\nG\n\n"
>>> print abc
A
B
C
D
E
F
G
后
>>> xyz = abc.replace('\n','\r')
>>> xyz
'\rA\rB\rC\rD\rE\rF\rG\r\r'
>>> print xyz
G
任何想法我做错了什么?
答案 0 :(得分:4)
使用已知道如何执行此操作的the Python csv
module。
import csv
with open('xyz.csv', 'wb') as outfile:
w = csv.writer(outfile)
w.writerow(['a\nb\nc'])
运行此命令后,您可以检查输出(GNU cat上的-A
显示非打印字符的表示形式):
$ cat -A xyz.csv
"a$
b$
c"^M$
请注意,您还可以使用cat -A
来查看您之前的实施似乎做错了什么。
答案 1 :(得分:3)
尝试将该字符串写入文件并在文本编辑器中查看。
您的控制台将回车解释为“返回到行首”,因此A打印,然后B打印A所在的位置等,直到G打印到F所在的位置。
答案 2 :(得分:0)
使用:
xyz = abc.replace('\n','\r\n')