Python自学笔记-txt数据文件有标题行或注释行时如何绘图?

这篇博客介绍了如何使用Python读取和处理含有注释的数据文件,特别是采集卡数据。通过示例代码展示了如何删除文件开头的注释行,并对数据进行解析、存储及绘制图形。代码涉及到了数据读取、列表解析、数据可视化等基本操作。
摘要由CSDN通过智能技术生成

采集卡数据文件:

CH2   长度:359775点               
----------------------------------
X轴单位:s  Y轴单位:V            
3.198E-003  -4.2724609375E-004    
3.19802E-003  -1.15966796875E-003   
3.19804E-003  -6.7138671875E-004    
3.19806E-003  -1.3427734375E-003    
3.19808E-003  -7.9345703125E-004    

需要读两列画图。

下面是解决方案:

import matplotlib.pyplot as plt

X, Y = [], []

with open('file.txt', 'r') as f:
    lines = f.readlines()
    lines = lines[3:]
    for line in lines:
        values = [float(s) for s in line.split()]
        X.append(values[0])
        Y.append(values[1])
    plt.plot(X, Y)  #二维数据是折线图,一维数据就是柱状图
    plt.show()

参考的链接如何在Python中删除.txt文件的前几行? - 问答 - Python中文网

下面是评论区的解决方法

删除注释行或参数单位行

此函数用于删除所有注释行

def remove_comments(lines):
    return [line for line in lines if line.startswith("#") == False]

删除n个顶行

def remove_n_lines_from_top(lines, n):
    if n <= len(lines):
        return lines[n:]
    else:
        return lines

以下是完整的来源:

with open('file.txt') as f:
    lines = f.readlines()


def remove_comments(lines):
    return [line for line in lines if line.startswith("#") == False]

def remove_n_line(lines, n):
    return lines[n if n<= len(lines) else 0:]

lines = remove_n_lines_from_top(lines, 3)

f = open("new_file.txt", "w+") # save on new_file
f.writelines(lines)
f.close()
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值