如何将txt文件中的int整数值转换为float浮点数并保存到新文件
具体实现方案
方案一:Python实现(通用性最强,Windows/macOS/Linux都可用)
直接运行以下代码即可:
# 读取f1文件内容 with open("f1.txt", "r", encoding="utf-8") as f: raw_data = f.read().strip() # 按逗号分割后转换为float类型 float_list = [float(item) for item in raw_data.split(",")] # 写入新文件f2,保持逗号分隔的格式 with open("f2.txt", "w", encoding="utf-8") as f: f.write(",".join(map(str, float_list)))
如果需要每个float单独占一行存储,修改写入部分的代码即可:
with open("f2.txt", "w", encoding="utf-8") as f: for num in float_list: f.write(f"{num}\n")
如果后续还需要用程序读取处理这些float值,也可以直接存为二进制格式减少空间占用,用numpy实现更便捷:
import numpy as np # 直接读取并转float float_arr = np.loadtxt("f1.txt", delimiter=",", dtype=np.float32) # 存为二进制npy格式,下次读取直接得到float数组无需转换 np.save("f2.npy", float_arr)
方案二:Shell命令实现(适合Linux/macOS环境,无需写脚本)
直接在终端执行以下一行命令即可完成转换:awk -F ',' '{for(i=1;i<=NF;i++) printf "%.6f%s", $i, (i==NF?"\n":",")}' f1.txt > f2.txt
命令中
%.6f可以调整精度,比如改为%.1f就是保留1位小数。
内容的提问来源于stack exchange,提问作者lena
相关产品推荐
相关产品推荐

