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

使用Pandas读取CSV:单列含所有列数据的拆分问题求助

解决Pandas读取单列表格并按空格拆分列的问题

嘿,我明白你碰到的问题了——这个CSV文件其实是空格分隔的文本格式,但不知道为啥被存成了只有一列"A"的结构,直接用默认的pd.read_csv()读肯定会把整行内容塞进一个单元格里,完全不是你想要的表格样子。

给你两个靠谱的解决办法,按需选就行:

方法1:读取时直接指定分隔符

既然数据是用空格分隔的,咱们直接告诉Pandas用空格当分隔符就行,还能顺便指定第一行是表头:

import pandas as pd

# 用\s+匹配一个或多个空格,避免多余空格导致空列
data = pd.read_csv("/test.csv", sep='\s+', header=0)
print(data.head())

这样Pandas会自动把第一行的"c1 c2 c3..."拆成列名,后面的数值也会乖乖对应到各列里,一步到位。

方法2:先读单列再手动拆分

如果方法1遇到特殊情况不好使(比如表头或数据行里有乱七八糟的空格),咱们就换个思路,先把整个单列读进来,再手动拆分:

import pandas as pd

# 先把所有内容读成单列,自定义列名"A"
df_raw = pd.read_csv("/test.csv", header=None, names=["A"])

# 把第一行的内容拆成列名列表
columns = df_raw.iloc[0, 0].split()
# 把剩下的每一行按空格拆分,展开成多列
data = df_raw.iloc[1:, 0].str.split(expand=True)
# 给拆分后的表格加上列名
data.columns = columns

print(data.head())

这种方法更灵活,对付格式不规整的文件特别有用,哪怕行里有多余空格也能处理。

举个例子验证下

假设你的CSV内容是这样的:

A
c1 c2 c3
000 222 333
111 444 555

用上面的方法处理后,输出会是:

c1   c2   c3
0  000  222  333
1  111  444  555

完全就是你想要的按列拆分后的表格样子啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 03:30:22