将字符串转换为Excel友好格式

时间:2013-06-24 14:34:52

标签: python csv

我有一串文字。该字符串中包含多个换行符。我想创建一个包含此字符串的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

任何想法我做错了什么?

3 个答案:

答案 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')