情景:文件名中包含學號和用戶名,其中用戶名在前學好在后,學號為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:]+'\t'+name[:-2]+'\n') f.close() i+=1 print('生成成功!')
執行結果: