【解决方法】Python嵌套list如何换行

需求

输出一个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,解决方法,python,开发语言)