#采用os.walk()方法,读取文件夹中后缀为.csv的文件名 deflistdir2(path):#path为文件夹的存储路径 type = ('.csv') #可在此处更改文件类型 list_name = [] #保存所有文件名至列表 for root, dirs, files in os.walk(path): for f in files: fname = os.path.join(root, f) if fname.endswith(type): list_name.append(fname) return list_name
2、读取多个excel内容存到list中
1 2 3 4 5 6 7 8 9
#函数的输入为列表,存储着多张excel的文件位置 #函数的输出为二维列表,保存着多张excel的内容 deftextList(list_name):#list_name为多张表的位置信息列表 text_excel = [] #text_excel为存储多张表的二维列表 for num in list_name: excel = pd.read_excel(num, header=None, skiprows=0) excel = excel.values.tolist() text_excel.extend(excel) return text_excel
3、将二维列表的值写入excel中
1 2 3 4 5 6 7 8 9 10 11 12
#利用openpyxl模块实现,还有一种常用的是利用pandas模块,后续进行介绍 defwriteToExcel(file_path, new_list):#file_path为excel存储路径,new_list为二维列表 wb = openpyxl.Workbook() ws = wb.active ws.title = 'feature' for r inrange(len(new_list)): for c inrange(len(new_list[0])): ws.cell(r + 1, c + 1).value = new_list[r][c] # excel中的行和列是从1开始计数的,所以需要+1 wb.save(file_path) # 注意,写入后一定要保存 print("成功写入文件: " + file_path + " !") return1
4、批量更改excel文件名
1 2 3 4 5 6 7 8
#批量修改文件中excel文件名,使用到1中listdir()函数 defrename_excel(path, text):#path为存储文件夹,text为替换的新内容 list_name = listdir(path) for excel_name in list_name: new_name = excel_name[:-10] + text + excel_name[-8:] os.rename(excel_name, new_name) return list_name rename_excel(r'D:\test', '27')