zoukankan      html  css  js  c++  java
  • python——合并指定文件夹下的工作簿和按照某一个列拆分工作簿

    python——合并指定文件夹下的工作簿和按照某一个列拆分工作簿

    作者:故笺/gujian

    链接地址:https://www.cnblogs.com/gujianjian/p/12858578.html

    说明:码农不易,请尊重他人劳动成果共创和谐网络环境。本文非常欢迎转载但请备注原作出处,违者必究。

    随便写得一个小def,不想写过程了,直接贴代码。

    合并

     1 def combine_excelfile(path,new_combinefille_path,type):#合并指定文件夹下的所有工作簿,type选定合并为一个表还是多个表,作者:故笺
     2     listfile_path = GetTxtName(path)
     3     # 3、选择数字文件名的数据,isdigit函数判断是否数字,isalpha判断是否字母或汉字,isalnum判断是否数字和字母或汉字的组合.如果想判断汉字的话。可以使用
     4     # zhmodel = re.compile(u'[\u4e00-\u9fa5]'),res = zhmodel.search(driver_number)
     5     #listfile_path = [x for x in listfile_path if x.isdigit()]  # 列表解析处理
     6     if type == 0:
     7         file_data = pd.DataFrame()
     8         for i in listfile_path:
     9             file_path = path + '\\' + i
    10             dfdata = pd.read_excel(file_path)
    11             file_data = file_data.append(dfdata, ignore_index=True)
    12         file_data.to_excel(new_combinefille_path, encoding='utf_8_sig', index=None)
    13         print('文件已合并:', new_combinefille_path)
    14     elif type == 1:
    15         writer = pd.ExcelWriter(new_combinefille_path)
    16         for i in listfile_path:
    17             file_path = path + '\\' + i
    18             name = os.path.splitext(i)[0]
    19             dfdata = pd.read_excel(file_path)
    20             dfdata.to_excel(writer,sheet_name=name, encoding='utf_8_sig', index=None)
    21         writer.save()
    22         print('文件已合并:', new_combinefille_path)
    23     else:
    24         print('请输入type合并类型:0,合并成一张工作表;1,合并成多个sheet')

    拆分

     1 def split_excelfile(file,appoint_type,save_path):
     2     dfdata = pd.read_excel(file)
     3     list = dfdata[appoint_type]
     4     list = list.drop_duplicates()
     5     list = list.values.tolist()
     6     print(list)
     7     for i in list:
     8         df = dfdata[dfdata[appoint_type].isin([i])]
     9         save_path_file = save_path + '\\' + str(i) + '.xlsx'
    10         print('正在拆分:',save_path_file)
    11         df.to_excel(save_path_file, sheet_name=str(i), encoding='utf_8_sig', index=None)
    12     print('文件拆分完毕,已保存在:', save_path)
    志同道合一起学习,欢迎加入QQ群:878749917
  • 相关阅读:
    Centos 7 安装配置
    日常问题
    Fluent_Python_Part1序幕,01-data-model, 数据模型
    计算机基础
    dist-packages vs site-packages
    斗地主 (NOIP2015 Day1 T3)
    字串变换 (2002 年NOIP全国联赛提高组)
    搜索
    关于动态最大子段和--线段树查询
    Caused by: org.apache.ibatis.reflection.ReflectionException: There is no getter for property named 'company' in 'class java.lang.String'
  • 原文地址:https://www.cnblogs.com/gujianjian/p/12858578.html
Copyright © 2011-2022 走看看