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

如何修复pandas导入CSV时所有数据集中在一列的问题?

解决CSV导入Python后列合并为一列的问题

看起来你遇到的是pandas没能正确识别CSV文件分隔符的问题,导致整行内容都被当成了单列数据。我来帮你拆解下问题和对应的解决办法:

问题根源

你看到的col1\col2\col3其实是**制表符(Tab)**的转义显示(Python中制表符用\t表示),这说明你的CSV文件是用制表符分隔的,而非pandas默认的逗号分隔符。这种情况下,pandas会把整行内容都识别成单列数据。

解决方案

1. 指定正确的分隔符

直接在pd.read_csv中设置sep='\t'即可,修改你的导入函数如下:

def import_csv(path):
    return pd.read_csv(path, encoding='utf-16', sep='\t')
df = import_csv('path to CSV')

这样pandas就能正确把每行内容按制表符拆分成多列了。

2. 验证真实分隔符(可选)

如果不确定文件的分隔符是什么,可以先手动读取文件第一行查看原始内容:

with open('path to CSV', 'r', encoding='utf-16') as f:
    print(f.readline())

运行后你会看到原始的分隔符(比如制表符会显示为一段空白,逗号就是逗号),再对应设置sep参数即可。

3. 为什么sep="\n"没用?

sep="\n"是告诉pandas把每一行作为一列的内容,这完全和你“拆分每行到多列”的需求相反,所以这个设置是错误的,自然解决不了问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 09:39:21