python读取文件并进行数据处理,附演示程序

需求是这样的
在这里插入图片描述
给定了这样一个text文件

2016/5/31 0:05,vawelon001,1,1
2016/5/31 0:05,earpa001,1,7
2016/5/31 0:05,vawelon001,5,1
2016/5/32 0:05,earpa001,3,6
2016/5/31 0:05,earpa001,1,5
2016/5/31 0:05,vawelon001,1,1
2016/5/32 0:05,earpa001,2,3
2016/5/31 0:05,vawelon001,1,2
2016/5/31 0:05,earpa001,1,2
2016/5/31 0:05,vawelon001,1,2
2016/5/31 0:05,earpa001,1,2
2016/5/32 0:05,earpa001,3,6
2016/5/31 0:05,earpa001,1,5
2016/5/32 0:05,earpa001,3,6
2016/5/31 0:05,earpa001,1,5
2016/5/31 0:05,vawelon001,1,1
2016/5/32 0:05,earpa001,2,3
2016/5/31 0:05,vawelon001,1,2
2016/5/32 0:05,earpa001,2,3

附上源代码

# -*- coding: utf-8 -*-
# @Time    : 2021/3/10 16:02
# @Author  : Zeeland
# @File    : Test11_fileRead.py
# @Software: PyCharm
if __name__ == '__main__':
    try:
        #创建实例对象
        f1 = open('sensor.txt', 'r')
        f2 = open('earpa001.txt','w+')
        #读取文件
        data =f1.read()
        '''
        data:
        2016/5/31 0:05,vawelon001,1,1
        2016/5/31 0:05,earpa001,1,7
        2016/5/31 0:05,vawelon001,5,1
        2016/5/32 0:05,earpa001,3,6
        2016/5/31 0:05,earpa001,1,5
        2016/5/31 0:05,vawelon001,1,1
        2016/5/32 0:05,earpa001,2,3
        2016/5/31 0:05,vawelon001,1,2
        2016/5/31 0:05,earpa001,1,2
        2016/5/31 0:05,vawelon001,1,2
        2016/5/31 0:05,earpa001,1,2
        2016/5/32 0:05,earpa001,3,6
        2016/5/31 0:05,earpa001,1,5
        2016/5/32 0:05,earpa001,3,6
        2016/5/31 0:05,earpa001,1,5
        2016/5/31 0:05,vawelon001,1,1
        2016/5/32 0:05,earpa001,2,3
        2016/5/31 0:05,vawelon001,1,2
        2016/5/32 0:05,earpa001,2,3
        '''
        #将文件中的所有元素转换为数组
        a =data.split("\n")
        '''
        a=['2016/5/31 0:05,vawelon001,1,1', '2016/5/31 0:05,earpa001,1,7', '2016/5/31 0:05,vawelon001,5,1', '2016/5/32 0:05,earpa001,3,6', '2016/5/31 0:05,earpa001,1,5', '2016/5/31 0:05,vawelon001,1,1', '2016/5/32 0:05,earpa001,2,3', '2016/5/31 0:05,vawelon001,1,2', '2016/5/31 0:05,earpa001,1,2', '2016/5/31 0:05,vawelon001,1,2', '2016/5/31 0:05,earpa001,1,2', '2016/5/32 0:05,earpa001,3,6', '2016/5/31 0:05,earpa001,1,5', '2016/5/32 0:05,earpa001,3,6', '2016/5/31 0:05,earpa001,1,5', '2016/5/31 0:05,vawelon001,1,1', '2016/5/32 0:05,earpa001,2,3', '2016/5/31 0:05,vawelon001,1,2', '2016/5/32 0:05,earpa001,2,3']
        '''

        #循环数组
        #每个i就是一条信息,eg:2016/5/32 0:05,earoa001,3,6
        for i in a:
            '''
            i:
            2016/5/31 0:05,vawelon001,1,1
            2016/5/31 0:05,earpa001,1,7
            2016/5/31 0:05,vawelon001,5,1
            2016/5/32 0:05,earpa001,3,6
            2016/5/31 0:05,earpa001,1,5
            2016/5/31 0:05,vawelon001,1,1
            2016/5/32 0:05,earpa001,2,3
            2016/5/31 0:05,vawelon001,1,2
            2016/5/31 0:05,earpa001,1,2
            2016/5/31 0:05,vawelon001,1,2
            2016/5/31 0:05,earpa001,1,2
            2016/5/32 0:05,earpa001,3,6
            2016/5/31 0:05,earpa001,1,5
            2016/5/32 0:05,earpa001,3,6
            2016/5/31 0:05,earpa001,1,5
            2016/5/31 0:05,vawelon001,1,1
            2016/5/32 0:05,earpa001,2,3
            2016/5/31 0:05,vawelon001,1,2
            2016/5/32 0:05,earpa001,2,3
            '''
            #将里面的每个元素都转换为数组,通','分离数组
            c =i.split(",")
            '''
            c:
            ['2016/5/31 0:05', 'vawelon001', '1', '1']
            ['2016/5/31 0:05', 'earpa001', '1', '7']
            ['2016/5/31 0:05', 'vawelon001', '5', '1']
            ['2016/5/32 0:05', 'earpa001', '3', '6']
            ['2016/5/31 0:05', 'earpa001', '1', '5']
            ['2016/5/31 0:05', 'vawelon001', '1', '1']
            ['2016/5/32 0:05', 'earpa001', '2', '3']
            ['2016/5/31 0:05', 'vawelon001', '1', '2']
            ['2016/5/31 0:05', 'earpa001', '1', '2']
            ['2016/5/31 0:05', 'vawelon001', '1', '2']
            ['2016/5/31 0:05', 'earpa001', '1', '2']
            ['2016/5/32 0:05', 'earpa001', '3', '6']
            ['2016/5/31 0:05', 'earpa001', '1', '5']
            ['2016/5/32 0:05', 'earpa001', '3', '6']
            ['2016/5/31 0:05', 'earpa001', '1', '5']
            ['2016/5/31 0:05', 'vawelon001', '1', '1']
            ['2016/5/32 0:05', 'earpa001', '2', '3']
            ['2016/5/31 0:05', 'vawelon001', '1', '2']
            ['2016/5/32 0:05', 'earpa001', '2', '3']
            '''
            #如果c里面存在vawelon001,则储存到一个新的文件中
            if c[1]=='earpa001':
                #写文件
                #i.strip是删除最后一行的空行,不用i.strip()的话最后一行会空出来
                f2.write(i.strip())
                #换行
                f2.write('\n')

    #关闭流
    finally:
        if f1:
            f1.close()
        if f2:
            f2.close()

最后输出的结果

2016/5/31 0:05,earpa001,1,7
2016/5/32 0:05,earpa001,3,6
2016/5/31 0:05,earpa001,1,5
2016/5/32 0:05,earpa001,2,3
2016/5/31 0:05,earpa001,1,2
2016/5/31 0:05,earpa001,1,2
2016/5/32 0:05,earpa001,3,6
2016/5/31 0:05,earpa001,1,5
2016/5/32 0:05,earpa001,3,6
2016/5/31 0:05,earpa001,1,5
2016/5/32 0:05,earpa001,2,3
2016/5/32 0:05,earpa001,2,3

涉及到的知识点:
1.文件的打开和读写
这里附上大神的汇总:
python读写文件操作
2.最后一行去空(如果没有使用strip方法,那么最后一行会产生空行出来,显然这不是我们想要的),因此我使用了f2.write(i.strip())来处理

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Zeeland

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值