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

如何读取固定宽度空格分隔的dat.txt文件并导入Python?

固定宽度空格分隔dat文件读取解决方案

你之前的写法无效有两个核心原因:

  1. delimiter = 'sp'是无效参数,pandas、numpy的读取接口均不识别该取值
  2. 目标文件属于固定宽度格式(FWF),列与列之间用多个空格分隔,不是普通单分隔符分割的文件,用read_csv、默认参数的genfromtxt无法正确拆分列,且单列的0/1会被自动识别为独立列,不需要额外配置。

方案1:用pandas读取(推荐)

pandas内置read_fwf接口专门用于读取固定宽度格式文件,可自动推断多空格分隔的列边界:

import pandas as pd

file_url = "http://jse.amstat.org/datasets/04cars.dat.txt"
# header=None 表示文件无表头,读取后自动给列分配0、1、2...的列名
df = pd.read_fwf(file_url, header=None)

如果需要更精准的列拆分,可以自行传入colspecs参数指定每列的起止位置,避免自动推断出现偏差。


方案2:用numpy的genfromtxt读取

如果需要用numpy读取,将delimiter设为None即可让接口自动按任意数量的空白字符拆分列,搭配dtype=None自动推断每列的数据类型,避免车型名字符串被识别为空值:

import numpy as np

file_url = "http://jse.amstat.org/datasets/04cars.dat.txt"
data = np.genfromtxt(file_url, delimiter=None, dtype=None, encoding="utf-8")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 11:09:03