如何使用Python的Pandas库将XLSX文件内容转换为列表的列表
解决方案:将逗号分隔的字符串列转换为列表的列表
我来帮你搞定这个问题!你需要把每个单元格里的逗号分隔字符串拆分成子列表,最终得到嵌套列表的结构,这里有两种简单高效的实现方式:
方法一:使用Pandas字符串方法(推荐)
利用Pandas内置的str.split()方法可以直接对整列操作,代码简洁且效率更高:
import pandas as pd # 读取Excel文件 df = pd.read_excel("planilha.xlsx") # 拆分每个字符串并转换为列表的列表 lista_categorias = df['Categorias'].str.split(', ').tolist()
代码解释:
df['Categorias'].str.split(', '):通过Pandas的str访问器,对列中的每一个字符串执行拆分操作,按,(逗号加空格)分割成子列表,返回一个包含列表元素的Series。.tolist():将这个Series对象转换为Python原生的列表,正好得到你需要的嵌套列表结构。
方法二:使用Python列表推导式
如果你更习惯原生Python的写法,也可以用列表推导式实现相同效果:
import pandas as pd df = pd.read_excel("planilha.xlsx") col_categorias = df['Categorias'] # 先转成字符串列表,再逐个拆分 lista_categorias = [item.split(', ') for item in col_categorias.tolist()]
代码解释:
col_categorias.tolist():先把Pandas Series转换为普通的字符串列表。- 列表推导式遍历每个字符串元素,用
split(', ')拆分后生成子列表,最终组合成嵌套列表。
两种方法都能得到你期望的输出结果:
[ ['wordpress', 'criação de sites'], ['criação de sites'], ['e-commerce', 'criação de sites', 'wordpress'], ['marketing digital', 'vendas'], ['marketing digital', 'vendas', 'google ads', 'negócios'], ['marketing digital', 'google ads'], ['e-commerce', 'vendas', 'negócios'], ['design', 'negócios'], ['youtube', 'criação de conteúdo'], ['marketing digital', 'google ads', 'youtube'], ['programação', 'wordpress'] ]
内容的提问来源于stack exchange,提问作者DevMateus
相关产品推荐
相关产品推荐

