python分类文件夹

文件夹样式

如图是众多文件夹,其中每一个文件夹中都是芯片数据。文件命名分三部分,以-分割,其中后两部分是巴条号。如第一个文件夹,其巴条号是S60-B27。同一个巴条测试了三个电流点,图中我们看到有20,50,还有100mA。
python分类文件夹_第1张图片

数据处理需求

要求把同一巴条号,不同的电流数据抓取出来放在excel表格的一行。这样便于分析问题和统计。如下图,把三个电流点放在一行。
数据整理格式

程序

此程序用到了元组,列表,字典,for循环,条件语句,正则表达式,字典排序,os路径函数。

# coding:utf-8
# @Time :2022/11/21 10:38
# @Author :wuxiaofeng

import re
import os
path = r'C:\Users\PC\Desktop\新建文件夹 (2)'
dict = dict()
list = []
dirs = os.listdir(path)
for dir_child in dirs:
       # print(os.path.join(path,dir_child))
       bar_no= re.search('(\w+-\w+)$', dir_child).group()
       I = int(re.search('\d{1,3}',dir_child).group())
       if dict.get(bar_no,1)==1:
              # list.append((I,os.path.join(path,dir_child)))
              list.append((I,dir_child))
              dict[bar_no] = list
              list = []
       else:
              dict[bar_no].append((I,dir_child))
for key,value in dict.items():
       dict[key]=sorted(value)
print(dict)
#结果
{'E15-S08': [(60, 'COC60mA-E15-S08'), (120, 'COC120mA-E15-S08'), (180, 'COC180mA-E15-S08')], 
'E17-S09': [(60, 'COC60mA-E17-S09'), (120, 'COC120mA-E17-S09'), (180, 'COC180mA-E17-S09')]}

你可能感兴趣的:(python小程序,python,数据分析,正则表达式)