数据分析时,经常会批量读取文件,主要有一下方法:
① 批量读取文件名(包含后缀)
引用语法:os.listdir(path)
函数用途:输出路径下所有文件的文件名,包含后缀,该路径下的子文件夹也会被读取
import os
path = "E:/vs_code/qtVideo/lib"
datanames = os.listdir(path)
for i in datanames:
print(i)
输出结果:请输入文件路径:D:\pythonProject\十三#CMS
D:\pythonProject\十三#CMS\INFO_20220420001427-20220421091419.txt
D:\pythonProject\十三#CMS\INFO_20220420051502-20220421091538.txt
D:\pythonProject\十三#CMS\x_13#DC_主轴_主轴承12点径向_2560Hz_加速度_0_20220421091538.txt
D:\pythonProject\十三#CMS\x_13#DC_主轴_主轴承12点径向_2560Hz_加速度_133.848_20220420211441.txt
D:\pythonProject\十三#CMS\x_13#DC_主轴_主轴承12点径向_2560Hz_加速度_187.902_20220420051502.txt
D:\pythonProject\十三#CMS\x_13#DC_主轴_主轴承12点径向_2560Hz_加速度_2.574_20220420131504.txt
Process finished with exit code 0
② 筛选出特定文件名的文件
import os
path = (input('请输入文件路径:'))
data_names = os.listdir(path)
for i in data_names:
data_names_path = os.path.join(path, i)
if '加速度' in data_names_path:
print(data_names_path)
输出:
请输入文件路径:D:\pythonProject\十三#CMS
D:\pythonProject\十三#CMS\x_13#DC_主轴_主轴承12点径向_2560Hz_加速度_0_20220421091538.txt
D:\pythonProject\十三#CMS\x_13#DC_主轴_主轴承12点径向_2560Hz_加速度_133.848_20220420211441.txt
D:\pythonProject\十三#CMS\x_13#DC_主轴_主轴承12点径向_2560Hz_加速度_187.902_20220420051502.txt
D:\pythonProject\十三#CMS\x_13#DC_主轴_主轴承12点径向_2560Hz_加速度_2.574_20220420131504.txt
Process finished with exit code 0
③读取文件名,将路径与文件名连接在一起,并筛选掉不需要的文件,形成新的列表
# # 读取文件名,并将文件名加上路径做成列表
file_path = (input('请输入文件路径:')) # 输入文件所在路径
file_lis = pd.DataFrame(os.listdir(file_path)) # 将所在路径文件组成一个表格
for i in range(max(file_lis.index)+1):
name = file_lis.iat[i, 0]
name_path = os.path.join(file_path, name)
file_lis.iat[i, 0] = name_path
file_list = file_lis[file_lis[0].str.contains('加速度')]
print(file_list)
输出结果:
请输入文件路径:D:\pythonProject\十三#CMS
0
2 D:\pythonProject\十三#CMS\x_13#DC_主轴_主轴...
3 D:\pythonProject\十三#CMS\x_13#DC_主轴_主轴...
4 D:\pythonProject\十三#CMS\x_13#DC_主轴_主轴...
5 D:\pythonProject\十三#CMS\x_13#DC_主轴_主轴...
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)