Python合并文件(dat、mdf、mf4)

news2024/10/6 10:29:36

天行健,君子以自强不息;地势坤,君子以厚德载物。


每个人都有惰性,但不断学习是好好生活的根本,共勉!


文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。


石门中断平湖出,百丈金潭照云日。     《和卢侍御通塘曲》


文章目录

  • Python 合并mf4文件
    • 1. 安装asammdf库
    • 2. 准备mf4文件
    • 3. 合并代码
      • 3.1 引入asammdf库
      • 3.2 读取文件
      • 3.3 合并文件
    • 4. 合并mf4文件示例代码
      • 4.1 示例代码
      • 4.2 执行结果
      • 4.3 生成文件
    • 5. 合并多个文件
      • 5.1 合并代码
      • 5.2 输出结果
      • 5.3 文件生成
    • 6. 示例代码下载


Python 合并mf4文件

使用asammdf库实现mf4合并

1. 安装asammdf库

安装库

pip install asammdf

2. 准备mf4文件

准备好mf4文件,最好放在一个文件夹下
在这里插入图片描述

3. 合并代码

3.1 引入asammdf库

引入asammdf库

from asammdf import MDF

3.2 读取文件

读取文件使用MDF对象将文件转换为mdf对象

mdf = MDF(mdf文件路径)

mdf文件可以是dat文件、mdf文件、mf4文件
分别为mdf文件的二代、三代、四代

3.3 合并文件

文件合并使用的方法是MDF的concatenate函数

new_mdf = MDF([mdf对象1,mdf对象2])

4. 合并mf4文件示例代码

4.1 示例代码

合并两个mf4文件的代码实现

from asammdf import MDF

print("合并开始=================》")

# 文件路径
mf4_file_path1 = r"F:\\STUDY\\Python\\file_merge\\mdf\\test_file_01.mf4"
# 读取文件
mdf1 = MDF(mf4_file_path1)
# 文件路径
mf4_file_path2 = r"F:\\STUDY\\Python\\file_merge\\mdf\\test_file_02.mf4"
# 读取文件
mdf2 = MDF(mf4_file_path2)

# 将读取的文件存入列表
mdf_list = []
mdf_list.append(mdf1)
mdf_list.append(mdf2)

# 调用函数合并列表中的文件
new_mdf = MDF.concatenate(mdf_list)

# 定义合并后的文件路径和文件名
new_name = "./concate.mf4"

# 保存合并后的文件
new_mdf.save(new_name, overwrite=True)

print("合并结束=================》")

4.2 执行结果

执行代码,输出结果如下
在这里插入图片描述

4.3 生成文件

在当前文件夹下生成文件concate.mf4
在这里插入图片描述

5. 合并多个文件

上面是两个文件进行合并,根据上面的代码,优化一下,合并多个文件

5.1 合并代码

合并多个文件的示例代码

import os
from asammdf import MDF

print("合并开始=================》")

# 需要合并的文件所在的文件夹
folder = "./mdf"
# 用于存储所要合并的文件的路径列表
full_path_list = []
# 遍历文件夹并将文件的路径存入列表中
for root, dirs, files in os.walk(folder):
    print("root: ", root)
    print("dirs: ", dirs)
    print("files: ", files)
    # 当前位置所在的全路径
    print(os.getcwd())
    for file in files:
        # 文件的全路径合成
        full_path = os.path.join(os.getcwd(), "mdf", file)
        # print(full_path)
        # 放入列表中
        full_path_list.append(full_path)

# 用于存储转换后的MDF对象的列表
mdf_list = []
# 遍历需要合成的文件列表,将每个文件转为MDF类型对象
for file_path in full_path_list:
    # 将文件转为MDF对象
    mdf_file = MDF(file_path)
    # 将对象放入列表
    mdf_list.append(mdf_file)

# 合并文件,产生新的MDF对象
new_mdf = MDF.concatenate(mdf_list)
# 定义新文件存放路径
new_mdf_name = "new_mdf.mf4"
new_mdf_path = "./mdf/"
# 将mdf对象保存为新的mdf文件,如果重复则重写覆盖
new_mdf.save(new_mdf_path+new_mdf_name, overwrite=True)

print("合并结束=================》")

5.2 输出结果

执行代码输出结果如下
在这里插入图片描述

5.3 文件生成

合并后,新的文件生成在当前位置的mdf文件夹下,文件名为new_mdf.mf4
在这里插入图片描述

6. 示例代码下载

本文示例代码已上传至CSDN资源库
下载地址:Python 文件合并 asammdf合并mf4文件


感谢阅读,祝君暴富!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1829003.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

揭秘最强气象武器的库,SPEI-Python不可思议之处.

spei-python是一个专门用于计算标准化降水蒸散指数(Standardized Precipitation Evapotranspiration Index,SPEI)的Python库.SPEI是一种综合考虑降水和潜在蒸散发的干旱指数,用于评估干旱的严重程度和持续时间. 安装 ## 可以使用 pip 来安装 spei-pyth…

C | 在ubuntu22下开发的一些配置

目录 VScode设置 要下载的插件: 卸载VScode的话就是哪装的哪删。 浅用gcc 预处理指令 使用gcc 语言编译过程 1. 预处理(Preprocessing) 2. 编译(Compilation) 3. 汇编(Assembly) 4. …

光明网发稿投稿流程与要求,光明日报如何投稿?附光明网多少钱(价格表)

对于想要在光明网发稿的作者来说,媒介多多网发稿平台是一个绝佳的投稿选择。光明网作为国内一流的新闻媒体平台,其严谨的文章审核标准和广泛的读者基础吸引着无数作者。然而,由于其严格的发稿标准,一些作者可能会遇到一些困难&…

盛世古董乱世金-数据库稳定到底好不好?

是不是觉得这个还用问? 是的要问。因为这个还是一个有争议的问题。但是争议双方都没有错。这就像辩论,有正反双方。大家都说的有道理,但是很难说谁对谁错。 正方观点:数据库稳定好 其实这个是用户的观点,应用开发人…

目标检测算法SSD与FasterRCNN

目标检测算法SSD与FasterRCNN SSD:( Single Shot MultiBox Detector)特点是在不同特征尺度上预测不同尺度的目标。 SSD网络结构 首先对网络的特征进行说明:输入的图像是300x300的三通道彩色图像。 网络的第一个部分贯穿到Vgg16模型 Conv5的…

大数据入门实践一:mac安装Hadoop,Hbase

一、安装Hadoop 安装hadoop参考此文,关键点是安装JDK和Hadoop的配置,为避免引用文章变收费,我把关键信息摘录如下: jdk安装和配置就不说了,hadoop安装过程: 1.设置SSH免密 1. 打开系统偏好设置&#xf…

芯片验证分享8 —— 代码审查2

大家好,我是谷公子,上节课给大家讲了代码审查中的代码正向检查,今天我们来讲代码审查的其他方法。 今天介绍的检查方法有: 代码反向检查 桌面检查 同行评审 可用性验证 这些验证方法可以应用在芯片开发的任何阶段。代码审查…

【网络安全的神秘世界】AppScan安装及使用指南

🌝博客主页:泥菩萨 💖专栏:Linux探索之旅 | 网络安全的神秘世界 | 专接本 https://www.hcl-software.com/appscan AppScan是一种综合型漏洞扫描工具,采用SaaS解决方案,它将所以测试功能整合到一个服务中&a…

Day 24:100301. 构成整天的下标对数目II

Leetcode 100301. 构成整天的下标对数目II 给你一个整数数组 hours&#xff0c;表示以 **小时 **为单位的时间&#xff0c;返回一个整数&#xff0c;表示满足 i < j 且 hours[i] hours[j] 构成 **整天 **的下标对 i, j 的数目。 **整天 **定义为时间持续时间是 24 小时的 *…

FreeRTOS队列(queue)

队列(queue)可以用于"任务到任务"、 "任务到中断"、 "中断到任务"直接传输信息。 1、队列的特性 1、1常规操作 队列的简化操如下图所示&#xff0c;从此图可知&#xff1a; 队列中可以包含若干数据&#xff1a;队列中有若干项&#xff0c;这…

2024上半年软考---江苏考区最先公布成绩

经历了考试之后&#xff0c;最期待的就是考试成绩的公布了&#xff0c;最好的成绩是45、45、45.只要过了分数线就满足了。下面我们来看看各大考区的分数的公布时间。 提前说下江苏考区的时间比较早&#xff0c;我就是江苏考区的&#xff0c;希望本次可以顺利通过考试。 2024年…

FPGA----petalinux开机启动自定义脚本/程序的保姆级教程

1、petalinux的重启命令&#xff1a;reboot、关机命令&#xff1a;shutdown -h now、开机按键&#xff1a;在关机后&#xff0c;ZCU106的右上角指示灯会变为红色&#xff0c;此时按下左上角第一个按键可启动操作系统。 2、好久没写博客了&#xff0c;本次给大家带来的是petalin…

原生Hadoop3.X高可用配置方式

Hadoop3.X版本&#xff0c;在2017年左右就有了第一个alpha版本&#xff0c;但是那个时候刚出来&#xff0c;所以没有人使用&#xff0c;到2018年3.0.0版本作为第一个3&#xff0c;X正式发布&#xff0c;截止当前本文书写时间&#xff0c;3.X版本已经发展到了3.4&#xff0c;在H…

用python纯手写一个日历

一、代码 # 月份名称数组 months ["January", "February", "March", "April", "May", "June","July", "August", "September", "October", "November", &qu…

Unity C#调用Android,IOS震动功能

最近在Unity上需要很原生移动端进行交互&#xff0c; 原理&#xff1a;新建一个android项目&#xff0c;把生成的app module给干掉&#xff0c;然后留下一个vibrationPlugin module&#xff0c;在这个module下写android震动代码&#xff0c;将这个android工程构建出来的 aar移…

26.1 WEB框架介绍

1. Web应用程序 1.1 应用程序有两种模式 应用程序的架构模式主要分为两种: C/S (客户端/服务器端)和B/S(浏览器/服务器端). * 1. C/S模式, 即客户端/服务器模式(Client/Server Model): 是一种分布式计算模式.它将应用程序的功能划分为客户端和服务器端两部分.在这种模式下, 客…

【教程】设置GPU与CPU的核绑(亲和力Affinity)

转载请注明出处&#xff1a;小锋学长生活大爆炸[xfxuezhagn.cn] 如果本文帮助到了你&#xff0c;欢迎[点赞、收藏、关注]哦~ 简单来说&#xff0c;核绑&#xff0c;或者叫亲和力&#xff0c;就是将某个GPU与指定CPU核心进行绑定&#xff0c;从而尽可能提高效率。 推荐与进程优先…

虚拟机Ubuntu系统安装JDK以及配置环境不懂随时私

1、在虚拟机中打开终端&#xff1a; 如果你使用的是 Linux 发行版&#xff08;如 Ubuntu、CentOS&#xff09;&#xff0c;打开终端窗口。 2、使用 wget 命令下载 JDK&#xff1a; 首先找到你想要下载的 JDK 版本的下载链接。通常&#xff0c;你可以在 Oracle 官方网站或者 Op…

讲解 Faster R_CNN原理:

Fast R-CNN改进 上图为论文中的图片 先使用CNN网络获得整体的特征图&#xff1a;这里可以卷积共享&#xff0c;加快速度 然后将原图中的Region Proposals(区域)映射到Feature Map中&#xff0c;获得一系 列RoI(感兴趣区域) 然后不再对每个RoI分别进行分类回归&#xff0c;而是通…

无限可能LangChain——概念指南之架构

本节包含对 LangChain 关键部分的介绍。 架构 LangChain 作为一个框架由多个包组成。 langchain-core 该包包含不同组件的基本抽象以及将它们组合在一起的方法。此处定义了LLM、向量存储、检索器等核心组件的接口。这里没有定义第三方集成。依赖项有目的地保持非常轻量级。…