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

Python如何从文件读取float与string并保留数据类型生成元组列表

解决方法

你之前的代码将所有分割后的字段统一转为float类型,现在只需要拆分每行内容后,单独对前两列做浮点型转换,第三列直接保留原始字符串即可。

可读性优先的写法

with open('data/example.txt') as f:
    dataset = []
    for line in f:
        # 去除行首尾换行、空白字符后按逗号分割
        parts = line.strip().split(',')
        # 前两列转float,第三列保留字符串,拼接为元组
        dataset.append((float(parts[0]), float(parts[1]), parts[2]))

简洁列表推导式写法

with open('data/example.txt') as f:
    dataset = [(float(p[0]), float(p[1]), p[2]) for p in (line.strip().split(',') for line in f)]

如果你需要和你给出的示例输出完全一致(前两列也保留字符串类型),直接去掉浮点转换即可:

with open('data/example.txt') as f:
    dataset = [tuple(line.strip().split(',')) for line in f]

异常兼容处理

如果文件存在空行、字段数量异常的行,可以增加过滤逻辑避免报错:

with open('data/example.txt') as f:
    dataset = []
    for line in f:
        line = line.strip()
        # 跳过空行
        if not line:
            continue
        parts = line.split(',')
        # 仅处理字段数量符合要求的行
        if len(parts) == 3:
            dataset.append((float(parts[0]), float(parts[1]), parts[2]))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 16:15:08