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

CSV文件列读取异常:Jupyter/Excel中如何拆分合并列恢复原格式?

嘿,这个问题我之前也碰到过!本质是pandas读取文件时用错了分隔符,导致所有列被当成了一列。我给你一步步解决:

1. 最可能的原因:用错了读取函数

你现在用的是pd.read_table(),这个函数默认以**制表符(\t)**作为列分隔符,但你的文件是标准CSV(逗号分隔),这就是列合并的根源!Numbers和Excel会自动识别CSV的逗号分隔符,所以显示正常。

直接改用pd.read_csv()就能解决,它默认就是逗号分隔:

%matplotlib inline
import matplotlib
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd

# 替换read_table为read_csv,适配CSV格式
data = pd.read_csv("filename.csv", encoding="utf-8")
print(data.columns)

2. 如果还是有问题(比如字段包含逗号)

要是你的TEXT这类列里本身有逗号(比如新闻内容里的标点),可能会导致分隔混乱。这时候可以显式指定分隔符和引号规则,让pandas忽略引号内的逗号:

data = pd.read_csv("filename.csv", encoding="utf-8", sep=',', quotechar='"')

这里quotechar='"'表示用双引号包裹的内容是一个完整字段,里面的逗号不会被当成分隔符。

3. 排查分隔符的终极方法

要是不确定文件的实际分隔符,可以先手动读取第一行看看:

with open("filename.csv", 'r', encoding='utf-8') as f:
    print(f.readline())  # 打印列名行,看实际是用什么分隔的

比如如果输出是SEARCH_ROW,PUBLICATION,DATE,...,那就是逗号分隔;如果是制表符分隔,会看到列名之间有明显的空格间隔。然后根据结果调整sep参数即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 06:53:46