300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > pandas合并文件夹下带有多个sheet的xlxs文件并写出csv文件

pandas合并文件夹下带有多个sheet的xlxs文件并写出csv文件

时间:2021-09-15 14:33:03

相关推荐

pandas合并文件夹下带有多个sheet的xlxs文件并写出csv文件

之前写过用普通python库来合并文件,现在加强读写速度用pandas库来执行。

如果只读一个多sheet的excel文件,见代码1

代码1:

#!/usr/bin/python3# -*- coding: utf-8 -*-# @Time : /5/31 0031 15:29# @Author : 一梦南柯# @File : data_process1.py'''使用pandas读取.xlxs的excel多个sheet文件,并且写出csv格式的excel文件'''import pandas as pddef excel_add(file_path):xls_file=pd.ExcelFile(file_path)# 显示出读入excel文件中各个sheet表的名字sheet_names = xls_file.sheet_namesdf_all = pd.DataFrame()for i in sheet_names:# skiprows=0代表读取跳过的行数为0行,不写代表不跳过标题df = pd.read_excel(file_path, sheetname=i, skiprows=2, index=False, encoding='utf8')df_all.append(df)#第一个参数是说把dataframe写入到D盘下的TEST2.csv文件中,参数sep表示字段之间用’, ’分隔,header表示是否需要头部,index表示是否需要行号。df_all.to_csv('D:\\TEST2.csv',sep=',', header=True, index=False)if __name__ == '__main__':file_path = 'D:\\5.3\\test.xlsx'excel_add(file_path)

如果只读文件夹下所有多sheet的excel文件,见代码2

代码2:

#!/usr/bin/python3# -*- coding: utf-8 -*-# @Time : /5/31 0031 15:29# @Author : 一梦南柯# @File : data_process1.py'''使用pandas读取文件夹下全部带有多个sheet的.xlxs文件,并且写出csv格式的excel文件例子:若文件夹中有2个文件,则第一个for循环后,输出为:D:\5.3\test[]['test.xlsx', 'test2.xlsx']'''import pandas as pdimport osimport timedef excel_add(file_path):time1 = time.time()InputDir = file_pathrootdir = InputDirdf_all = pd.DataFrame()for parent, dirnames, filenames in os.walk(rootdir):for filename in filenames:xls_file=pd.ExcelFile(os.path.join(parent, filename))# 显示出读入excel文件中各个sheet表的名字sheet_names = xls_file.sheet_namesfor i in sheet_names:# skiprows=0代表读取跳过的行数第0行,不写代表不跳过标题df = pd.read_excel(os.path.join(parent, filename), sheetname=i, skiprows=2, index=False, encoding='utf8')df_all = df_all.append(df)#第一个参数是说把dataframe写入到D盘下的TEST2.csv文件中,参数sep表示字段之间用’, ’分隔,header表示是否需要头部,index表示是否需要行号。df_all.to_csv('D:\\T-plan4_1.csv', sep=',', header=True, index=False)time2 = time.time()time3 = time2-time1print(time3)if __name__ == '__main__':#file_path = 'D:\\5.3\\test'file_path = 'D:\\5.21\\实验数据test\\plan'excel_add(file_path)

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。