使用pandas读取特殊分隔TXT文件时仅识别为单列该如何处理
问题根因
- 你之前设置的
sep="t"属于错误配置,既不是制表符转义符\t,也无法匹配数据行的多空格分隔规则 - 该文件表头行用逗号分隔、数据行用多个空格分隔,分隔符规则不统一
skiprows=2会直接跳过有效表头行,导致列配置异常
解决方案
使用delim_whitespace=True参数自动匹配任意数量的空白字符作为分隔符,手动指定列名即可正确读取:
import pandas as pd df_data = pd.read_csv( "ElCEntroid kopi-kopi.txt", skiprows=1, # 仅跳过原表头行即可 delim_whitespace=True, # 自动识别多空白分隔,等价于sep=r'\s+' names=['Eid', 'X', 'Y', 'Z', 'Mass'] # 手动指定列名,去掉原表头多余的$符号 )
读取完成后可执行print(df_data.columns)验证列数,执行df_data.head()验证数据内容正确性。
内容的提问来源于stack exchange,提问作者Asbjoern Lund
相关产品推荐
相关产品推荐

