You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将多行分割的字符串列表转换为Python DataFrame

如何将竖线分隔的字符串列表转换为Pandas DataFrame?

嘿,我来帮你搞定这个需求!你手里的字符串列表是用splitlines()得到的,每个元素用竖线|分隔,想要转成带表头的DataFrame,其实有两种很实用的方法,我给你详细说说:

方法一:用Pandas内置的read_csv(最简便高效)

Pandas本身就有处理这类分隔符数据的工具,我们可以把列表转成换行分隔的字符串,再用StringIO模拟文件对象,直接用read_csv读取,一步到位:

import pandas as pd

X = ["NAME|Contact|Education","SMITH|12345|Graduate","NITA|11111|Diploma"]
# 把列表转成换行分隔的字符串,再用StringIO模拟文件
df = pd.read_csv(pd.io.common.StringIO('\n'.join(X)), sep='|')
print(df)

这样运行后,直接就能得到你想要的结构,表头会自动取列表的第一行,数据行也会对应匹配。

方法二:手动循环处理(适合理解底层逻辑)

如果你想自己通过循环来实现,需要先区分表头和数据行,避免你原来代码里的索引问题,具体步骤如下:

import pandas as pd

X = ["NAME|Contact|Education","SMITH|12345|Graduate","NITA|11111|Diploma"]

# 第一步:提取表头(列表的第一个元素)
headers = X[0].split('|')
# 第二步:循环处理后面的数据行,拆分成列表存入data_rows
data_rows = []
for item in X[1:]:
    data_rows.append(item.split('|'))

# 第三步:用表头和数据行创建DataFrame
df = pd.DataFrame(data_rows, columns=headers)
print(df)

最终输出结果

两种方法运行后都会得到如下的DataFrame:

NAME Contact Education
0  SMITH    12345  Graduate
1   NITA    11111   Diploma

内容的提问来源于stack exchange,提问作者Nirali Khoda

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 07:59:05