需求
输出一个excel,其中有一个单元格的数据要换行。
问题
list中间加‘\n’不会换行,会直接显示‘\n’字符。
解决方法
记住一个原则,str中的’\n’是能换行的。
想办法把list转为str即可。
示例
原代码
import pandas as pd
out_list = []
data_list = []
data_list.append('one:' + str('111') + '\n' + "two:" + str('222') + '\n')
data_list.append('one:' + str('333') + '\n' + "two:" + str('444') + '\n')
row = ['Zhangsan', data_list]
out_list.append(row)
title = ['name', 'id']
df = pd.DataFrame(out_list, columns=title)
writer = pd.ExcelWriter('./tmp.xlsx')
df.to_excel(writer, sheet_name='Sheet1', index=False, header=False)
writer.save()
以上的代码本来是data_list中有两个str,str中有‘\n’,然后将data_list添加到row中,最后row添加到out_list里。(逻辑如此,不必追究为什么要嵌套list,业务场景需要,冗余代码已去除)
以下是修改后的代码:
import pandas as pd
out_list = []
data_list = []
data_list.append('one:' + str('111') + '\n' + "two:" + str('222') + '\n')
data_list.append('one:' + str('333') + '\n' + "two:" + str('444') + '\n')
str_data = ''.join(data_list)
row = ['Zhangsan', str_data]
out_list.append(row)
title = ['name', 'id']
df = pd.DataFrame(out_list, columns=title)
writer = pd.ExcelWriter('./tmp.xlsx')
df.to_excel(writer, sheet_name='Sheet1', index=False, header=False)
writer.save()
修改的部分就两行:
str_data = ''.join(data_list)
row = ['Zhangsan', str_data]
把嵌套的那层list想办法改为了str去实现换行操作。
解决!

文章讲述了在Python中使用Pandas处理Excel文件时,如何使列表内容在单元格内换行。原来的问题是列表内的
并未产生换行效果,解决方案是将列表转换为字符串,利用
作为分隔符连接列表元素,从而在Excel单元格中成功实现换行。
3万+

被折叠的 条评论
为什么被折叠?



