2013-06-24 29 views
2

什么是使用python将多行写入excel内的单个单元格的最简单方法。我试图没有成功的csv模块。单个Excel单元格中的多条线

import csv 
with open('xyz.csv', 'wb') as outfile: 
    w = csv.writer(outfile) 
    w.writerow(['stringa','string_multiline',]) 

此外,每个多重线串具有许多字符,其中通常用于csv的逗号。

任何帮助将非常感激。

回答

6

为了解决这个问题,我使用一个多行单元格在Excel中创建了一个文件。

enter image description here

然后我保存为CSV并在文本编辑器中打开它:

"a^Mb" 

它看起来像Excel解释按Ctrl-M字符换行。

让我们尝试使用Python:

#!/usr/bin/env python2.7 

import csv 

with open('xyz.csv', 'wb') as outfile: 
     w = csv.writer(outfile) 
     w.writerow(['stringa','multiline\015string',]) 

是啊,这工作!

enter image description here

+3

‘CTRL-M字符’......也被称为回车。:-) – kindall

+0

谢谢,但我一定是沿线某处困惑,我试了一下你的建议b当我将它导入到excel中时,它只是将它们添加到单独的单元格中。我尝试过使用ctl-M,\ 015,但每次看起来都不像上面那样工作。任何进一步的帮助将是伟大的...... – felix001

+0

@ felix001在Windows 2010的Excel 2010中,它似乎需要'\ r \ n'而不是'\ 015' ='\ r',但该行不会自动扩展到显示字符串的两行。您需要手动调整行大小以查看这两行。但是,随后Excel Mac 2011在第二行开头处显示'\ r'后面的'\ n'作为额外空间 - 所以可能没有使用'.csv'文件的跨平台解决方案。这是XML设计的可移植性问题。我用['openpyxl'](https://pypi.python.org/pypi/openpyxl)直接读取/写入.xlsx文件的运气不错,也许你可以试试? – andrewdotn

0

你需要通过额外的双引号(“)在字符串的开始和结束。单独使用换行符(\ n)的细胞的不同线路。 例如”行1 \ nline2 \ nline3"

f=open("filename.csv","w") 
f.write("\"line1\nline2\nline3\"")` 

The code creates this csv

相关问题