Python中拆分列表字符串元素以创建DataFrame的方法
解决方案
你需要对列表中的每个字符串进行按空格分割操作,而非对原列表做切片。直接使用字符串的split()方法就能实现需求:
# 原列表 files = ['### File1 00.00','### File2 00.00','### File3 00.00'] # 转换为嵌套列表 files_list = [item.split() for item in files] # 输出结果: # [['###','File1','00.00'],['###','File2','00.00'],['###','File3','00.00']]
split()方法默认会按任意空白字符(空格、制表符等)分割字符串,刚好匹配你文件名的格式,把每个字符串拆分成三个元素的子列表。
后续生成DataFrame
得到嵌套列表后,可以直接传入pandas.DataFrame()并指定列名:
import pandas as pd df = pd.DataFrame(files_list, columns=['Invoice #', 'Vendor', 'Amount'])
原代码问题说明
你之前的代码[files[i:i+1] for i in range(0, len(files), 1)]是对原列表做切片操作,每次取一个元素组成子列表,这只是把原元素简单包装了一层,并没有拆分字符串内容,所以达不到预期效果。
内容的提问来源于stack exchange,提问作者SHW
相关产品推荐
相关产品推荐

