情景:文件名中包含学号和用户名,其中用户名在前学好在后,学号为2位,如harry33.txt、natasha12.txt。
要求:将多个文件名中的用户名与学号分开并保存到excle中。
代码部分:
import os # 创建一个立标,用来保存去掉扩展名后的文件名 filename = [] # os.walk:遍历某目录下所有的文件和文件夹 for a,b,files in os.walk('test'): # 如果文件存在,保存开始到倒数第四位的字符到filename列表里 if files: # 扩展名名为3个字母+之前的一个点(.),一共是4个字符,截取到倒数第四个字符为止就获取了文件名 filename.append([file[:-4] for file in files]) #print(os.listdir('test')) 查看完整文件内容 #print(filename) 查看去掉扩展名后到内容 # 创建用于保存文件名的excel表格名称 fname = 'testexam' # 表格计数器 i = 0 # 循环filename,以此读取不同的文件名 for files in filename: # 生成带后缀的excel表文件 f = open(fname+str(i)+'.xls','w') # 将读取到的文件名写入到新生成的excel文件里 for name in files: #文件名倒数两位是数字号码,单独提取出来放在excel的前边;文件开始到倒数第2位是姓名信息,提取出来放到后边 f.write(name[-2:]+' '+name[:-2]+' ') f.close() i+=1 print('生成成功!')
执行结果: