粒徑的取值範圍為:0.31~8mm
因此excel中標記紅色的都需要刪除:
txt檔案為(紅框為留下來的資料),一共五組數,也就是五個時間的數:
那麼我只留下我需要的d的n的資料,刪除不需要的列:
# -*- coding:utf-8 -*- """ @author: su @file: deletlie.py @time: 2024/05/01 @desc: """ import numpy as np import pandas as pd file_path = '/NM004-20230627224400-20230627224859-0.txt' # 讀整個txt檔案讀取到單個字串 with open(file_path, 'r', errors='ignore') as file: file_content = file.read() # 按時間戳拆分內容以查詢單獨的部分 # 時間戳的格式為 YYYY-MM-DD HH:MM:SS,因此我們將使用正規表示式根據此模式進行拆分 import re sections = re.split(r'\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}\n', file_content) # print(sections) date = [x for x in file_content.split('\n') if len(x) == 19] # 如果txt第一個元素為空值(由於拆分),則將其刪除 if not sections[0]: sections.pop(0) final_data = {} for i in range(len(sections)): final_data[date[i]] = sections[i] df_final_values = [] for key, value in final_data.items(): lines = value.strip().split('\n') matrix = [line.split() for line in lines] df = pd.DataFrame(matrix) # 刪除前2列 df.drop(df.columns[:2], axis=1, inplace=True) # 刪除後9列 df.drop(df.columns[-9:], axis=1, inplace=True) df_final_values.append(df.values.tolist()) index = 0 with open('/output.txt', 'w', errors='ignore') as file: for key, _ in final_data.items(): file.write(key + '\n') for df_values in df_final_values[index]: file.write('\t'.join(df_values) + '\n') index += 1 file.write('\n')
得到:
Δd為當前d-前一個d,剔除不要的紅色值得到: