numpy 以最快的数据dump成一个txt文件,如何做?

Python3.8

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

要将 np_timestamp_raw 数组快速保存为 txt 文件,可以使用 NumPy 的 savetxt 方法。这是最直接高效的方式:

import numpy as np

# 假设 np_timestamp_raw 是你的 (100, 7) numpy 数组
np.savetxt('timestamp_data.txt', np_timestamp_raw)

如果需要控制格式或分隔符,可以添加参数:

# 使用逗号分隔,保留4位小数
np.savetxt('timestamp_data.txt', np_timestamp_raw, 
           delimiter=',', fmt='%.4f')

关键点:

  1. 这是纯 NumPy 操作,速度极快
  2. 默认使用空格分隔,科学计数法格式
  3. 对于 (100,7) 这样的小数组几乎是瞬间完成

如果需要更快但牺牲可读性的二进制格式,可以考虑 .npy 格式:

np.save('timestamp_data.npy', np_timestamp_raw)

# 使用逗号分隔,保留4位小数 np.savetxt('timestamp_data.txt', np_timestamp_raw, delimiter=',', fmt='%.4f') 我希望保存的数据格式都是整数类型; 不希望存在小数和科学计数法

如果希望将 np_timestamp_raw 保存为纯整数格式​(无小数、无科学计数法),可以使用 fmt='%d'%d 表示十进制整数格式)。

修改后的代码:​

import numpy as np

# 保存为整数格式,逗号分隔
np.savetxt('timestamp_data.txt', 
           np_timestamp_raw, 
           delimiter=',', 
           fmt='%d')  # %d 表示整数

关键点:​

  • fmt='%d' 强制所有数据以整数形式存储(如果原数据是浮点数,会直接截断小数部分)。
  • 如果数据本身是浮点型,但你想四舍五入后再保存,可以先用 np.round() 处理:
    np.savetxt('timestamp_data.txt', 
               np.round(np_timestamp_raw).astype(int),  # 先四舍五入再转整数
               delimiter=',', 
               fmt='%d')
  • 避免科学计数法​:%d%i 都能确保不使用科学计数法。

示例输出格式:​

123,456,789,101112,131415,161718,192021
222324,252627,282930,313233,343536,373839,404142
...

这样就能确保所有数据都是整数,并且以逗号分隔。

np.savetxt(  这个函数会覆盖之前的txt文件吗?

是的,​**np.savetxt() 默认会覆盖已存在的同名文件**,不会追加数据。

关键行为:​

  1. 如果 timestamp_data.txt 不存在​ → 创建新文件并写入数据。
  2. 如果 timestamp_data.txt 已存在​ → ​直接覆盖原文件,不会保留旧内容。
  3. 不会自动追加数据​(除非手动以追加模式打开文件)。

如果需要追加数据(而不是覆盖)​

可以使用 Python 标准文件操作 + np.savetxtfile 参数:

with open('timestamp_data.txt', 'ab') as f:  # 'ab' 表示二进制追加模式
    np.savetxt(f, np_timestamp_raw, delimiter=',', fmt='%d')

注意​:

  • 'ab'(二进制追加)模式避免换行符问题(Windows/Linux 兼容)。
  • 每次运行会在文件末尾新增数据,不会覆盖原有内容。

总结

需求方法
覆盖写入​(默认)np.savetxt('file.txt', data)
追加数据with open('file.txt', 'ab') as f: np.savetxt(f, data)
避免覆盖检查文件是否存在,或改用新文件名(如 np.savetxt(f'file_{time.time()}.txt', data)

您可能感兴趣的与本文相关的镜像

Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值