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

Python如何正确提取无表头、空格分隔的CSV文件中的数据

Python读取空格分隔无表头文本文件的解决方案

以下提供两种常用实现方式,可根据自身需求选择:

方法1:使用内置csv模块(无额外依赖)

适合仅需要基础读取数据的场景,直接指定分隔符为空格即可:

import csv

# 替换为你本地的文件路径
file_path = "./data.txt"

all_data = []
with open(file_path, "r", encoding="utf-8") as f:
    # delimiter指定分隔符为空格,skipinitialspace忽略多余的连续空格
    csv_reader = csv.reader(f, delimiter=" ", skipinitialspace=True)
    for row in csv_reader:
        # 若需要将字段转换为数值类型,可添加下行代码
        row = list(map(float, row))
        all_data.append(row)

# 测试输出前3行数据
print(all_data[:3])

如果需要给字段添加自定义表头,可手动指定列名后转成字典格式:

示例表头定义(可根据实际字段含义修改):时间戳、设备编号、测量值1、测量值2、测量值3

col_names = ["时间戳", "设备编号", "测量值1", "测量值2", "测量值3"]
dict_data = [dict(zip(col_names, row)) for row in all_data]

方法2:使用pandas库(适合数据分析场景)

如果后续需要做数值统计、过滤、导出等操作,用pandas读取更高效:

import pandas as pd

# 替换为你本地的文件路径
file_path = "./data.txt"

# sep="\s+"匹配任意数量的空白字符作为分隔符,header=None表示文件无表头
df = pd.read_csv(file_path, sep="\s+", header=None)
# 手动设置列名(可按需修改)
df.columns = ["时间戳", "设备编号", "测量值1", "测量值2", "测量值3"]

# 查看前5行数据
print(df.head())

两种方案选择建议

  • 仅需要基础读取、无数据分析需求,优先选内置csv模块,无需安装第三方依赖
  • 需要后续数据处理、计算操作,优先选pandas,代码更简洁处理效率更高

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 12:57:00