网站页面策划,济南信息网,智能产品创新设计,网页编程代码机器学习或深度学习的数据读取工作#xff08;大数据处理#xff09;主要是.split和re.findall和glob.glob运用。 读取文件的路径#xff08;为了获得文件内容#xff09;和提取文件路径中感兴趣的东西(标签) 1#xff0c;“glob.glob”用于读取文件路径 2#xff0c;“.… 机器学习或深度学习的数据读取工作大数据处理主要是.split和re.findall和glob.glob运用。 读取文件的路径为了获得文件内容和提取文件路径中感兴趣的东西(标签) 1“glob.glob”用于读取文件路径 2“.split“用于字符串分割 3”re.findall“用于获取字符串里的感兴趣的东西 文章目录 一、目标是什么二、实验代码2.1 获取全部路径(包含文件名的路径)2.1.1 获取全部路径错误代码如下示例2.1.2 获取全部路径错误代码结果2.1.3 获取全部路径正确代码2.1.4 获取全部路径正确代码结果 2.2 分别获取训练集和测试集的文件路径2.3 获取文件名里面指定的内容 3 全部代码注意事项 一、目标是什么
获取rubbish文件夹下以.txt结尾文件的路径并提取文件名里面指定的内容本次实验是获取文件名test_故障1_数据1.txt里“数据”后面的数字。
二、实验代码
2.1 获取全部路径(包含文件名的路径)
2.1.1 获取全部路径错误代码如下示例
import numpy as np
import glob
import re# 1错误获取路径
data_path_error glob.glob(rC:/Users/houweiming/Desktop/faut_data/code_public_dataset/rubbish/*/*.txt)
data_path_error.sort()2.1.2 获取全部路径错误代码结果
# [C:/Users/houweiming/Desktop/faut_data/code_public_dataset/rubbish\\test\\test_故障1_数据1.txt,
# C:/Users/houweiming/Desktop/faut_data/code_public_dataset/rubbish\\test\\test_故障1_数据21.txt,
# C:/Users/houweiming/Desktop/faut_data/code_public_dataset/rubbish\\test\\test_故障1_数据30.txt,
# C:/Users/houweiming/Desktop/faut_data/code_public_dataset/rubbish\\test\\test_故障2_数据11.txt,
# C:/Users/houweiming/Desktop/faut_data/code_public_dataset/rubbish\\test\\test_故障2_数据24.txt,
# C:/Users/houweiming/Desktop/faut_data/code_public_dataset/rubbish\\test\\test_故障2_数据31.txt,
# C:/Users/houweiming/Desktop/faut_data/code_public_dataset/rubbish\\train\\train_故障1_数据2.txt,
# C:/Users/houweiming/Desktop/faut_data/code_public_dataset/rubbish\\train\\train_故障1_数据33.txt,
# C:/Users/houweiming/Desktop/faut_data/code_public_dataset/rubbish\\train\\train_故障1_数据41.txt,
# C:/Users/houweiming/Desktop/faut_data/code_public_dataset/rubbish\\train\\train_故障2_数据11.txt,
# C:/Users/houweiming/Desktop/faut_data/code_public_dataset/rubbish\\train\\train_故障2_数据38.txt,
# C:/Users/houweiming/Desktop/faut_data/code_public_dataset/rubbish\\train\\train_故障2_数据72.txt]路径下既有单斜杠“/”又有所斜杠“\”,python的很多读取函数识别不了。 2.1.3 获取全部路径正确代码
# 1正确获取路径
data_path_right glob.glob(C:\\Users\\houweiming\\Desktop\\faut_data\\code_public_dataset\\rubbish\\*\\*.txt)
data_path_right.sort()2.1.4 获取全部路径正确代码结果
# [C:\\Users\\houweiming\\Desktop\\faut_data\\code_public_dataset\\rubbish\\test\\test_故障1_数据1.txt,
# C:\\Users\\houweiming\\Desktop\\faut_data\\code_public_dataset\\rubbish\\test\\test_故障1_数据21.txt,
# C:\\Users\\houweiming\\Desktop\\faut_data\\code_public_dataset\\rubbish\\test\\test_故障1_数据30.txt,
# C:\\Users\\houweiming\\Desktop\\faut_data\\code_public_dataset\\rubbish\\test\\test_故障2_数据11.txt,
# C:\\Users\\houweiming\\Desktop\\faut_data\\code_public_dataset\\rubbish\\test\\test_故障2_数据24.txt,
# C:\\Users\\houweiming\\Desktop\\faut_data\\code_public_dataset\\rubbish\\test\\test_故障2_数据31.txt,
# C:\\Users\\houweiming\\Desktop\\faut_data\\code_public_dataset\\rubbish\\train\\train_故障1_数据2.txt,
# C:\\Users\\houweiming\\Desktop\\faut_data\\code_public_dataset\\rubbish\\train\\train_故障1_数据33.txt,
# C:\\Users\\houweiming\\Desktop\\faut_data\\code_public_dataset\\rubbish\\train\\train_故障1_数据41.txt,
# C:\\Users\\houweiming\\Desktop\\faut_data\\code_public_dataset\\rubbish\\train\\train_故障2_数据11.txt,
# C:\\Users\\houweiming\\Desktop\\faut_data\\code_public_dataset\\rubbish\\train\\train_故障2_数据38.txt,
# C:\\Users\\houweiming\\Desktop\\faut_data\\code_public_dataset\\rubbish\\train\\train_故障2_数据72.txt]2.2 分别获取训练集和测试集的文件路径
代码如下示例
# 2分别获取训练集和测试集的文件路径
# 2.1获取文件名
file_name [x.split(\\)[-1] for x in data_path_right]
file_name_temp [x.split(_)[0] for x in file_name]
# 2.1将训练集和测试集分开
# 2.1.1获取训练集和测试集大小
test_size 0
train_size 0
for i in file_name_temp:if i test:test_size test_size 1elif i train:train_size train_size 1
# 2.1.2获取训练集和测试集文件路径
train_path np.empty((train_size), dtypeobject)
test_path np.empty((test_size), dtypeobject)
test_size_index 0
train_size_index 0
for i_index, i in enumerate(file_name_temp):if i test:test_path[test_size_index] data_path_right[i_index]test_size_index test_size_index 1elif i train:train_path[train_size_index] data_path_right[i_index]train_size_index train_size_index 1
train_path list(train_path)
# [C:\\Users\\houweiming\\Desktop\\faut_data\\code_public_dataset\\rubbish\\train\\train_故障1_数据2.txt,
# C:\\Users\\houweiming\\Desktop\\faut_data\\code_public_dataset\\rubbish\\train\\train_故障1_数据33.txt,
# C:\\Users\\houweiming\\Desktop\\faut_data\\code_public_dataset\\rubbish\\train\\train_故障1_数据41.txt,
# C:\\Users\\houweiming\\Desktop\\faut_data\\code_public_dataset\\rubbish\\train\\train_故障2_数据11.txt,
# C:\\Users\\houweiming\\Desktop\\faut_data\\code_public_dataset\\rubbish\\train\\train_故障2_数据38.txt,
# C:\\Users\\houweiming\\Desktop\\faut_data\\code_public_dataset\\rubbish\\train\\train_故障2_数据72.txt]
test_path list(test_path)
# [C:\\Users\\houweiming\\Desktop\\faut_data\\code_public_dataset\\rubbish\\test\\test_故障1_数据1.txt,
# C:\\Users\\houweiming\\Desktop\\faut_data\\code_public_dataset\\rubbish\\test\\test_故障1_数据21.txt,
# C:\\Users\\houweiming\\Desktop\\faut_data\\code_public_dataset\\rubbish\\test\\test_故障1_数据30.txt,
# C:\\Users\\houweiming\\Desktop\\faut_data\\code_public_dataset\\rubbish\\test\\test_故障2_数据11.txt,
# C:\\Users\\houweiming\\Desktop\\faut_data\\code_public_dataset\\rubbish\\test\\test_故障2_数据24.txt,
# C:\\Users\\houweiming\\Desktop\\faut_data\\code_public_dataset\\rubbish\\test\\test_故障2_数据31.txt]2.3 获取文件名里面指定的内容
test_fault_severity [x.split(\\)[-1] for x in test_path]
test_fault_severity [x.split(_)[-1] for x in test_fault_severity]
test_fault_severity [x.split(.)[0] for x in test_fault_severity]
test_fault_severity [re.findall(r\d, path)[0] for path in test_fault_severity]
print(test_fault_severity)结果 [‘1’, ‘21’, ‘30’, ‘11’, ‘24’, ‘31’] 3 全部代码
import numpy as np
import glob
import re# 1错误获取路径
data_path_error glob.glob(rC:/Users/houweiming/Desktop/faut_data/code_public_dataset/rubbish/*/*.txt)
data_path_error.sort()
# [C:/Users/houweiming/Desktop/faut_data/code_public_dataset/rubbish\\test\\test_故障1_数据1.txt,
# C:/Users/houweiming/Desktop/faut_data/code_public_dataset/rubbish\\test\\test_故障1_数据21.txt,
# C:/Users/houweiming/Desktop/faut_data/code_public_dataset/rubbish\\test\\test_故障1_数据30.txt,
# C:/Users/houweiming/Desktop/faut_data/code_public_dataset/rubbish\\test\\test_故障2_数据11.txt,
# C:/Users/houweiming/Desktop/faut_data/code_public_dataset/rubbish\\test\\test_故障2_数据24.txt,
# C:/Users/houweiming/Desktop/faut_data/code_public_dataset/rubbish\\test\\test_故障2_数据31.txt,
# C:/Users/houweiming/Desktop/faut_data/code_public_dataset/rubbish\\train\\train_故障1_数据2.txt,
# C:/Users/houweiming/Desktop/faut_data/code_public_dataset/rubbish\\train\\train_故障1_数据33.txt,
# C:/Users/houweiming/Desktop/faut_data/code_public_dataset/rubbish\\train\\train_故障1_数据41.txt,
# C:/Users/houweiming/Desktop/faut_data/code_public_dataset/rubbish\\train\\train_故障2_数据11.txt,
# C:/Users/houweiming/Desktop/faut_data/code_public_dataset/rubbish\\train\\train_故障2_数据38.txt,
# C:/Users/houweiming/Desktop/faut_data/code_public_dataset/rubbish\\train\\train_故障2_数据72.txt]# 1正确获取路径
data_path_right glob.glob(C:\\Users\\houweiming\\Desktop\\faut_data\\code_public_dataset\\rubbish\\*\\*.txt)
data_path_right.sort()
# [C:\\Users\\houweiming\\Desktop\\faut_data\\code_public_dataset\\rubbish\\test\\test_故障1_数据1.txt,
# C:\\Users\\houweiming\\Desktop\\faut_data\\code_public_dataset\\rubbish\\test\\test_故障1_数据21.txt,
# C:\\Users\\houweiming\\Desktop\\faut_data\\code_public_dataset\\rubbish\\test\\test_故障1_数据30.txt,
# C:\\Users\\houweiming\\Desktop\\faut_data\\code_public_dataset\\rubbish\\test\\test_故障2_数据11.txt,
# C:\\Users\\houweiming\\Desktop\\faut_data\\code_public_dataset\\rubbish\\test\\test_故障2_数据24.txt,
# C:\\Users\\houweiming\\Desktop\\faut_data\\code_public_dataset\\rubbish\\test\\test_故障2_数据31.txt,
# C:\\Users\\houweiming\\Desktop\\faut_data\\code_public_dataset\\rubbish\\train\\train_故障1_数据2.txt,
# C:\\Users\\houweiming\\Desktop\\faut_data\\code_public_dataset\\rubbish\\train\\train_故障1_数据33.txt,
# C:\\Users\\houweiming\\Desktop\\faut_data\\code_public_dataset\\rubbish\\train\\train_故障1_数据41.txt,
# C:\\Users\\houweiming\\Desktop\\faut_data\\code_public_dataset\\rubbish\\train\\train_故障2_数据11.txt,
# C:\\Users\\houweiming\\Desktop\\faut_data\\code_public_dataset\\rubbish\\train\\train_故障2_数据38.txt,
# C:\\Users\\houweiming\\Desktop\\faut_data\\code_public_dataset\\rubbish\\train\\train_故障2_数据72.txt]# 2分别获取训练集和测试集的文件路径
# 2.1获取文件名
file_name [x.split(\\)[-1] for x in data_path_right]
file_name_temp [x.split(_)[0] for x in file_name]
# 2.1将训练集和测试集分开
# 2.1.1获取训练集和测试集大小
test_size 0
train_size 0
for i in file_name_temp:if i test:test_size test_size 1elif i train:train_size train_size 1
# 2.1.2获取训练集和测试集文件路径
train_path np.empty((train_size), dtypeobject)
test_path np.empty((test_size), dtypeobject)
test_size_index 0
train_size_index 0
for i_index, i in enumerate(file_name_temp):if i test:test_path[test_size_index] data_path_right[i_index]test_size_index test_size_index 1elif i train:train_path[train_size_index] data_path_right[i_index]train_size_index train_size_index 1
train_path list(train_path)
# [C:\\Users\\houweiming\\Desktop\\faut_data\\code_public_dataset\\rubbish\\train\\train_故障1_数据2.txt,
# C:\\Users\\houweiming\\Desktop\\faut_data\\code_public_dataset\\rubbish\\train\\train_故障1_数据33.txt,
# C:\\Users\\houweiming\\Desktop\\faut_data\\code_public_dataset\\rubbish\\train\\train_故障1_数据41.txt,
# C:\\Users\\houweiming\\Desktop\\faut_data\\code_public_dataset\\rubbish\\train\\train_故障2_数据11.txt,
# C:\\Users\\houweiming\\Desktop\\faut_data\\code_public_dataset\\rubbish\\train\\train_故障2_数据38.txt,
# C:\\Users\\houweiming\\Desktop\\faut_data\\code_public_dataset\\rubbish\\train\\train_故障2_数据72.txt]
test_path list(test_path)
# [C:\\Users\\houweiming\\Desktop\\faut_data\\code_public_dataset\\rubbish\\test\\test_故障1_数据1.txt,
# C:\\Users\\houweiming\\Desktop\\faut_data\\code_public_dataset\\rubbish\\test\\test_故障1_数据21.txt,
# C:\\Users\\houweiming\\Desktop\\faut_data\\code_public_dataset\\rubbish\\test\\test_故障1_数据30.txt,
# C:\\Users\\houweiming\\Desktop\\faut_data\\code_public_dataset\\rubbish\\test\\test_故障2_数据11.txt,
# C:\\Users\\houweiming\\Desktop\\faut_data\\code_public_dataset\\rubbish\\test\\test_故障2_数据24.txt,
# C:\\Users\\houweiming\\Desktop\\faut_data\\code_public_dataset\\rubbish\\test\\test_故障2_数据31.txt]# 3分别获取训练集和测试集的故障类型
test_fault_severity [x.split(\\)[-1] for x in test_path]
test_fault_severity [x.split(_)[-1] for x in test_fault_severity]
test_fault_severity [x.split(.)[0] for x in test_fault_severity]
test_fault_severity [re.findall(r\d, path)[0] for path in test_fault_severity]
print(test_fault_severity)
print(HELLO WORLD!)注意事项
1.split解释
# x.split(\\)
# 将字符串分割成一个列表并以指定的分隔符进行分割。在这个例子中我们使用“\\”作为分隔符。2.findall解释
# def findall(pattern, string, flags0):
# string中所有与pattern匹配的全部字符串,返回形式为列表如果pattern中含有分组返回分组的匹配结果。如果有pattern中有多个分组则返回元组列表。
# 例子
# import re
# kk re.compile(r\d)
# kk.findall(one1two2three3four4)
# #[1,2,3,4]正则表达式需要时查即可不需要特殊关注