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

如何用Pandas将CSV文件中的单列字符串转换为多列字符?

把单列字符串拆分为多列的简单方法

嘿,别担心,这个操作其实挺容易上手的,我一步步给你讲清楚怎么实现~

第一步:确认你的原始数据

首先假设你已经用Pandas导入了CSV文件,得到的DataFrame叫df,里面唯一的列名比如是original_col(如果你的列名不一样,替换成你实际的列名就行)。你可以先跑一行代码看看前几行数据,确认格式:

import pandas as pd

# 假设你已经导入了数据,比如:
# df = pd.read_csv('your_file.csv')

# 查看前4行数据
print(df.head(4))

比如你的数据看起来可能是这样:

original_col
0          ABC
1          DEF
2          GHI
3          JKL

第二步:核心操作——拆分字符串为多列

这里有个非常好用的方法,能把每行的字符串拆成单个字符,自动变成新的列:

# 将每行字符串转为字符列表,再构造成新的DataFrame
new_df = pd.DataFrame(df['original_col'].apply(lambda x: list(x)).tolist())

代码解释:

  • df['original_col'].apply(lambda x: list(x)):对原列的每一行字符串,用list(x)把它拆成单个字符的列表(比如'ABC'会变成['A','B','C'])
  • .tolist():把整个Series转换成一个二维列表(每行对应一个子列表)
  • pd.DataFrame(...):把这个二维列表直接转换成新的DataFrame,每个字符对应一列,列名默认是0、1、2...

运行完上面的代码后,你的new_df就会变成这样:

0  1  2
0  A  B  C
1  D  E  F
2  G  H  I
3  J  K  L

第三步:可选——给新列重命名

如果默认的数字列名看着不舒服,你可以给它们改成更直观的名字:

# 方法1:手动指定列名(适合固定长度的字符串)
new_df.columns = ['字符1', '字符2', '字符3']

# 方法2:自动生成列名(不管字符串长度都能用)
new_df.columns = [f'字符_{i+1}' for i in range(new_df.shape[1])]

小提示

如果你的原始数据里,每行字符串的长度不一样,新DataFrame中较短的行后面会自动填充NaN(空值),这是正常的,你可以根据需求用fillna()方法填充这些空值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 08:16:13