python实现对文本数据的异常数据删除

1.以下数据格式第一列为时间,时间相同情况下,第二列数据需要递增,否则是错误的需要删除这一行数据
2.文本数据贴一部分:
16:28:34 3965 22 2 9
16:28:34 4165 22 1 8
16:28:34 4365 22 1 6
16:28:34 4568 22 2 9
16:28:34 4766 21 0 9
16:28:34 497 22 1 9
16:28:34 5166 22 1 9
16:28:34 5365 22 1 8
16:28:34 5565 23 0 9
16:28:34 5778 22 1 8
16:28:34 5965 22 2 9
16:28:34 6169 21 2 9
16:28:34 6365 21 1 9
16:28:34 657 21 1 9
16:28:34 6765 22 1 8
16:28:34 6966 22 2 9
16:28:34 7166 22 1 8
16:28:34 7365 22 1 9
3.我用列表方式读了这个数据,n行m列的列表,不过并没用,代码留做参考

F1 = open(r"C:\Users\11816\Desktop\data_clear.txt", "r")
List_row = F1.readlines()
list_source = []
#x = len(List_row)-1;
#y = len(List_row[0].split("\t"))-1;
for i in range(len(List_row)):
column_list = List_row[i].strip().split("\t") # 每一行split后是一个列表
list_source.append(column_list) # 加入list_source
print(list_source)#二元组

最后算法流程:逐行读取文本,符合要求打印,否则不打印,这样即可完成数据的过滤。
第一列时间的比较,如果格式符合 hh:mm:ss 的话直接用字符串比较即可。
最后再写回文件操作!
代码如下:


# encoding=utf8
path = "C:\\Users\\11816\\Desktop\\data_clear.txt"
f = open(path)
last_date = ""
last_num = 0
for line in f:
    line = line.rstrip()
    item = line.split("\t")#\t分隔
    date = item[0]
    num = float(item[1])
    if date > last_date:  # 直接比较即可,字符串比较原理
        last_date = date
        print(line)
        with open("C:\\Users\\11816\\Desktop\\data_clear_last.txt", "a+") as f2:#以追加的方式
            f2.write(line+"\n")# 写完通过\n进行换行
    elif date == last_date:
        if num > last_num:
            last_num = num
            print(line)
            with open("C:\\Users\\11816\\Desktop\\data_clear_last.txt", "a+") as f2:
                f2.write(line+"\n")# 写完通过\n进行换行


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 如果您想存储文件数据,可以使用Python的内置函数"open"和"write"。您可以打开一个文件,并将数据写入该文件。 以下是一段示例代码: ``` #打开文件,如果文件不存在则创建它 f = open("data.txt", "w") #写入数据 f.write("Hello World") #关闭文件 f.close() ``` 在上面的代码中,我们使用了"w"模式打开文件,这意味着如果文件已存在,其内容将被覆盖;如果文件不存在,将创建一个新文件。 最后,我们使用了"close"函数关闭了文件。这是一种好的编程习惯,因为它可以确保文件被正确关闭,并释放系统资源。 ### 回答2: 下面是一个简单的示例代码,可以用来实现文件数据存储。这个代码将数据存储在一个文本文件中,每行代表一个数据。可以通过添加数据删除数据、更新数据和读取数据来管理文件中的数据。 ```python def add_data(file_name, data): with open(file_name, 'a') as file: file.write(data + '\n') def remove_data(file_name, data): lines = [] with open(file_name, 'r') as file: lines = file.readlines() with open(file_name, 'w') as file: for line in lines: if line.strip() != data: file.write(line) def update_data(file_name, old_data, new_data): lines = [] with open(file_name, 'r') as file: lines = file.readlines() with open(file_name, 'w') as file: for line in lines: if line.strip() == old_data: file.write(new_data + '\n') else: file.write(line) def read_data(file_name): with open(file_name, 'r') as file: lines = file.readlines() for line in lines: print(line.strip()) # 使用示例 file_name = 'data.txt' # 添加数据 add_data(file_name, 'Data 1') add_data(file_name, 'Data 2') add_data(file_name, 'Data 3') # 读取数据 read_data(file_name) # 更新数据 update_data(file_name, 'Data 2', 'Updated Data 2') # 读取更新后的数据 read_data(file_name) # 删除数据 remove_data(file_name, 'Data 1') # 读取删除后的数据 read_data(file_name) ``` 这个示例代码实现了添加数据、读取数据、更新数据删除数据的功能。你可以根据需要修改代码,以适应你的具体应用场景。 ### 回答3: 在Python中,我们可以使用内置的open()函数来实现文件数据存储。下面是一个简单的示例代码: ```python # 定义要存储的数据 data = "这是要存储的数据" # 打开文件,如果文件不存在则创建新文件 file = open("data.txt", "w") # 写入数据到文件 file.write(data) # 关闭文件 file.close() ``` 以上代码首先定义了要存储的数据,然后通过open()函数打开文件,第一个参数是文件名,第二个参数是打开模式,"w"表示以写入模式打开文件。如果文件不存在,则会创建新文件。然后使用write()方法将数据写入文件中。最后关闭文件。 需要注意的是,以上代码会将之前文件中的内容全部覆盖,如果需要追加数据到文件末尾,可以将打开模式改为"a"。另外,为了确保文件操作的安全性,最好使用try-finally或with语句来处理文件的打开、写入和关闭操作,以免出现异常时文件无法关闭的情况。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值