python numpy实现多次循环读取文件 等间隔过滤数据示例


Posted in Python onMarch 14, 2020

numpy的np.fromfile会出现如下的问题,只能一次性读取文件的内容,不能追加读取,连续两次的np.fromfile读到的东西一样

如果数据文件太大(几个G或以上)不能一次性全读进去,需要追加读取

python numpy实现多次循环读取文件 等间隔过滤数据示例

而我希望读到的donser1和donser2是连续的两段

(实际使用时,比如说读取的文件是二进制数据文件,每一块文件都包括包头+数据,希望将这两块分开获取,然后再做进一步处理)

代码:

import numpy as np

length=2500
plt_arr=np.linspace(0.0, 0.0, length*2048*16)
start=0
tail_size = 40  #40bit
num_size=16*1024-40 # 16kb -40b


def one_file(f, loop):
  global tail_size, num_size
  while loop:
    num = np.fromfile(f, dtype=np.int16, count=num_size)
    tail=np.fromfile(f, dtype=np.int16, count=tail_size)
    loop=loop-1
    yield num, tail

def main():
  file_path="E://1-gl300c.r3f"
  global length, plt_arr, start
  loop=length
  with open(file_path, 'rb') as f:
    for num, tail in one_file(f, loop):
      plt_arr[start:start+len(num)]=num[:]
      start=start+len(num)
  return   plt_arr[0:start]

if __name__ == "__main__":
  donser=main()
  print(donser)

假设数据文件的格式是 数据+包尾,plt_arr存储全部的数据部分,包尾丢弃,该方法实现了多次连续追加读取数据文件的内容plt_arr最好使用先开好大小再逐次赋值,亲测append方法和concatenate方法时间效率极差或者不用numpy也可以,代码:

def read_in_chunks(filePath, chunk_size=16*1024):
  file_object = open(filePath,'rb')
  count=0
  while True:
    chunk_data = file_object.read(chunk_size)
    if not chunk_data:
      break
    yield chunk_data[0:16*1024-28]


if __name__ == "__main__":
  num=0
  for chunk in read_in_chunks("E:\\1-gl300c.r3f"):
    #process(chunk) # <do something with chunk>
    name=str(num)+".bin"
    num=num+1
    if num<303000:
      continue
    if num>308001:
      break
    file_object = open(name, 'wb')
    file_object.write(chunk)
    file_object.close( )

numpy.fromfile的其他方法可以参考这个

补充知识:python每隔一段时间运行一个函数

用python语言每隔两分钟从接口获取一次数据来插入到数据库

看了大佬们的方法感觉最简单就是:

做一个死循环,让函数执行完后休眠两分钟,然后进入下一次执行,除非手动停止或者有错误停止,否则程序会永远运行下去。

以下是代码:

import get_details
import time

second=2*60
print second
while True:
get_details.sign_cycle()
time.sleep(second)

上面的代码就是让get_details模块的sign_cycle()函数每两分钟执行一次。

是不是超简单!!!!!!

以上这篇python numpy实现多次循环读取文件 等间隔过滤数据示例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
用python写的一个wordpress的采集程序
Feb 27 Python
30秒轻松实现TensorFlow物体检测
Mar 14 Python
对pandas replace函数的使用方法小结
May 18 Python
关于Python的一些学习总结
May 25 Python
对Pytorch中nn.ModuleList 和 nn.Sequential详解
Aug 18 Python
Python小程序之在图片上加入数字的代码
Nov 26 Python
python列表返回重复数据的下标
Feb 10 Python
解决pycharm同一目录下无法import其他文件
Feb 12 Python
jupyter notebook中美观显示矩阵实例
Apr 17 Python
PythonPC客户端自动化实现原理(pywinauto)
May 28 Python
什么是Python中的顺序表
Jun 02 Python
Python3压缩和解压缩实现代码
Mar 01 Python
python matplotlib 绘图 和 dpi对应关系详解
Mar 14 #Python
python 工具 字符串转numpy浮点数组的实现
Mar 14 #Python
python tkinter GUI绘制,以及点击更新显示图片代码
Mar 14 #Python
使用Python爬取弹出窗口信息的实例
Mar 14 #Python
解决django中form表单设置action后无法回到原页面的问题
Mar 13 #Python
浅谈在django中使用redirect重定向数据传输的问题
Mar 13 #Python
在Django中预防CSRF攻击的操作
Mar 13 #Python
You might like
Zerg剧情介绍
2020/03/14 星际争霸
某大型网络公司应聘时的笔试题目附答案
2008/03/27 PHP
PHP实现APP微信支付的实例讲解
2018/02/10 PHP
PHP反射学习入门示例
2019/06/14 PHP
Yii框架where查询用法实例分析
2019/10/22 PHP
Prototype Template对象 学习
2009/07/19 Javascript
Web前端设计模式  制作漂亮的弹出层
2010/10/29 Javascript
javascript对talbe进行动态添加、删除、验证实现代码
2012/03/29 Javascript
ko knockoutjs动态属性绑定技巧应用
2012/11/14 Javascript
JS+ACTIVEX实现网页选择本地目录路径对话框
2013/03/18 Javascript
JS返回上一页实例代码通过图片和按钮分别实现
2013/08/16 Javascript
ExtJS自定义主题(theme)样式详解
2013/11/18 Javascript
用Javascript获取页面元素的具体位置
2013/12/09 Javascript
JavaScript模拟实现键盘打字效果
2015/06/29 Javascript
JS实现IE状态栏文字缩放效果代码
2015/10/24 Javascript
jQuery+formdata实现上传进度特效遇到的问题
2016/02/24 Javascript
js获取对象、数组的实际长度,元素实际个数的实现代码
2016/06/08 Javascript
js实现table添加行tr、删除行tr、清空行tr的简单实例
2016/10/15 Javascript
微信小程序 动态绑定事件并实现事件修改样式
2017/04/13 Javascript
JS随机数产生代码分享
2018/02/24 Javascript
微信小程序中遇到的iOS兼容性问题小结
2018/11/14 Javascript
python 时间戳与格式化时间的转化实现代码
2016/03/23 Python
Django管理员账号和密码忘记的完美解决方法
2018/12/06 Python
python 猴子补丁(monkey patch)
2019/06/26 Python
python-视频分帧&amp;多帧合成视频实例
2019/12/10 Python
CSS3字体效果的设置方法小结
2016/06/13 HTML / CSS
Tripadvisor新西兰:阅读评论,比较价格和酒店预订
2018/02/10 全球购物
京东奢侈品:全球奢侈品牌
2018/03/17 全球购物
护理实习自我鉴定
2013/12/14 职场文书
大学生作弊检讨书
2014/02/19 职场文书
销售员求职个人的自我评价
2014/02/19 职场文书
小露珠教学反思
2014/04/30 职场文书
商场开业庆典策划方案
2014/06/02 职场文书
租房协议书样本
2014/08/20 职场文书
群众路线对照检查材料
2014/09/22 职场文书
2015教师个人年度工作总结
2015/10/23 职场文书