Pandas / Excel:在调用DataFrame.to_excel()时,有什么方法可以将ALT-ENTER / CHAR(10)换行符编码成数据?

时间:2016-12-19 22:19:30

标签: python excel pandas

我有一个pandas DataFrame我想写给Excel。对于一列,我的数据值是逗号分隔的字符串,例如"val1,val2""val1,val2,val3"。当我写这个专栏时,我想用等同于在Excel中按ALT-ENTER替换逗号,以便在值之间存在换行符。因此,我的第一个示例将显示为val1,然后在单元格中显示,然后val2,依此类推。您也可以在Excel中通过使单元格成为公式并在每个值之间放置&"char(10)"&来执行此操作。

我知道如何通过coding up formulas via XLSXWriter执行此操作并单独编写单元格。但是,我希望(或者懒洋洋地)想知道是否有方法将中断编码到数据中,以便通过to_excel()上的DataFrame简单调用它们。 }。

2 个答案:

答案 0 :(得分:3)

在XlsxWriter中,您可以使用字符串中的换行符和text_wrap format属性将其包装到单独的行中。见section of the Format docs

wrap_format = workbook.add_format({'text_wrap': True})

worksheet.write(0, 0, "Val1\nval2", wrap_format)

要从Pandas执行此操作,您可以将字符串中的逗号转换为\n,然后将text_wrap格式应用于the target spreadsheet中的列。

答案 1 :(得分:0)

对我来说,这种代码完美无缺:

 liste=['adsf','asdfas','dasdsas','asdfsdaf']
 text=''

 for elem in liste:              
     text=text+elem+'\n'
 ws.Cells(1,1).Value=text