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

Python读取含三位小数浮点数列的文本文件生成float数组方法

读取指定格式文本文件并转换为目标数组的方法

嘿,我来帮你搞定这个问题!要读取这种每行包含三个三位小数浮点数、以逗号加一个或多个空格分隔的文本文件,并转换成你想要的数组格式,用Python可以轻松实现,给你两种实用方案:

方案1:用NumPy快速处理(推荐)

如果你的项目已经在使用NumPy,这是最简洁的方式,它能直接帮你完成分割、类型转换和数组构建:

import numpy as np

# 读取文件,分隔符用正则匹配「逗号+任意数量空格」
array = np.loadtxt('your_file.txt', delimiter=',\\s+')

# 输出成你期望的格式
print(f"array = {array}")

解释一下:delimiter=',\\s+' 是关键,它用正则表达式匹配逗号后面的一个或多个空格,完美适配你的文件格式;loadtxt会自动将每行的数值转换成浮点数,最终生成的就是二维NumPy数组,输出格式和你要的几乎一致。

方案2:用Python标准库实现(无需额外依赖)

如果不想引入NumPy,用内置的文件操作和字符串处理也能搞定:

array = []
with open('your_file.txt', 'r') as file:
    for line in file:
        # 去掉行尾换行符,按逗号分割后,逐个清理空格并转成浮点数
        row = [float(num.strip()) for num in line.strip().split(',')]
        array.append(row)

# 手动格式化输出成你想要的样式
formatted_rows = [f"{' '.join(map(str, row))}" for row in array]
formatted_output = f"array = [{', '.join(formatted_rows)}]"
print(formatted_output)

这里的核心是 [float(num.strip()) for num in line.strip().split(',')]:先按逗号分割每行内容,再给每个分割后的字符串去掉前后空格(不管逗号后面有多少空格都能处理),最后转成浮点数。后面的格式化代码则是把数组转换成你指定的字符串样式。

不管用哪种方案,都能精准读取你的文件并输出目标格式~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 10:45:03