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

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

需求

输出一个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去实现换行操作。

解决!

您可能感兴趣的与本文相关的镜像

Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值