600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > Python从txt文件中提取特定数据

Python从txt文件中提取特定数据

时间:2020-07-06 05:50:18

相关推荐

Python从txt文件中提取特定数据

本段代码用于,想要从一段txt文件中只提取目标数据的情况。

代码:

def get_data(txt_path: str = '', epoch: int = 100, target: str = '', target_data_len: int = 5):num_list = [] # 将提取出来的数据保存到列表,并在最后返回data = open(txt_path, encoding="utf-8") # 打开文件str1 = data.read() # 将文件中读取到的内容转化为字符串data.close() # 关闭文件for i in range(0, epoch):index = str1.find(target) # 查找字符串str1中str2字符串的位置num_list.append(float(str1[index+len(target):index+len(target)+target_data_len])) # 将需要的数据提取到列表中str1 = str1.replace(target, 'xxxx', 1) # 替换掉已经查阅过的地方,' xxxx '表示替换后的内容,1表示在字符串中的替换次数为1return num_list

函数参数解释:

txt_path 文件路径

epoch 这份文本文件中要提取出的数据个数,默认100

target 目标数据的前缀

target_data_len 目标数据的长度,默认为5

返回值,列表数据

使用举例:

txt文档内容:

x1:273 test3:477 y4:38489 y1:149 x2:423x1:274 test3:475 y4:37956 y1:152 x2:422x1:269 test3:473 y4:38156 y1:152 x2:421x1:271 test3:471 y4:38156 y1:155 x2:418x1:272 test3:467 y4:38056 y1:158 x2:416x1:275 test3:466 y4:37956 y1:161 x2:415

使用:

data_path = "D:/program/test/double_camera_data/x_data.txt"# 提取x1的数据list_x1 = get_data(data_path, 6, target="x1:", target_data_len=3)# 提取test3的数据list_test3 = get_data(data_path, 6, target="test3:", target_data_len=3)# 提取y4的数据list_y4 = get_data(data_path, 6, target="y4:", target_data_len=6)print(list_x1)print(list_test3)print(list_y4)

输出:

[273.0, 274.0, 269.0, 271.0, 272.0, 275.0][477.0, 475.0, 473.0, 471.0, 467.0, 466.0][38489.0, 37956.0, 38156.0, 38156.0, 38056.0, 37956.0]

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。