zoukankan      html  css  js  c++  java
  • python合并相同表头表格,反解XML流

    1、合并相同表头表格

    代码如下

    #python pandas合并表格插件
    #coding:gbk
    import os,time
    import pandas as pd
    
    
    class Excel_concat(object):
        def __init__(self,FILES_PATH,NEW_FILE_PATH,FILES):
            self.files_path = FILES_PATH
            self.new_file_path = NEW_FILE_PATH
            self.file_list = FILES #文件列表
            self.one_sheet = [] #要合并的子sheet1
            self.two_sheet = [] #要合并的子sheet2
            self.rows = ['登记证明编号','关联的初始登记编号'] #要处理的表头
    
        def rows_utils(self,sheet):
        #列数据处理,将int数字形式转化为文本格式(字符串)
            for i in self.rows :
                sheet[i] = [str(i) for i in sheet[i]]
            return sheet
    
        def read_excel(self,file):
        #读取excel返回pd对象
            file_sheet0 = self.rows_utils(pd.read_excel(os.path.join(self.files_path,file), sheet_name=0,encoding='gbk'))
            file_sheet1 = self.rows_utils(pd.read_excel(os.path.join(self.files_path,file), sheet_name=1,encoding='gbk'))
            return file_sheet0,file_sheet1
    
    
        def write_excel(self):
            writer = pd.ExcelWriter(self.new_file_path)
            pd.concat(self.one_sheet).to_excel(writer, 'sheet1', index=False)
            pd.concat(self.two_sheet).to_excel(writer, 'sheet2', index=False)
            writer.save()
    
    
        def run(self):
            for i in self.file_list:
                try:
                    print(i)
                    sh0, sh1 = self.read_excel(i)
                    self.one_sheet.append(sh0)
                    self.two_sheet.append(sh1)
                except Exception as e:
                    print('文件内容错误',i)
            self.write_excel()
    
    
    def subutils(data):
    #正则处理空白字符串(空格,换行符等)
        import re
        data = re.sub('[s]', '', data)
        return data
    
    if __name__ == '__main__':
        start = time.time()
        FILES_PATH = r'D:xxxxxxxxxxxxxxxxxxxx'
        NEW_FILE_PATH = r'D:xxxxxxxxxxxxx
    ewxls1.xlsx'
        FILES = os.listdir(FILES_PATH)
        obj = Excel_concat(FILES_PATH,NEW_FILE_PATH,FILES[0:2])
        print(FILES)
        print(len(FILES))
        # obj.run()
        # pf1,pf2 = read_excel(FILES[0])
        # print(pf1)
        # print(pf2)
        end = time.time()
        print('Running Time is: ', str(end - start) + 's')

    2、反解XML流

    代码如下

    #反解xml流,经过base64加密加zip打包
    import base64
    from io import BytesIO
    import zipfile
    
    content = b'<?xml version="1.0" encoding="gbk"?>' 
              b'<BODY><xmlResultByte>' 
              b'UEsDBBQACAAIAG9WhE8AAAAAAAAAAAAAAAAbAAAAMjAxOTEyMDQxMDUxMzA5ODQxMDc1OTUueG1ss7GvyM1RKEstKs7Mz7NVMtQzUFJIzUvOT8nMS7dVCg1x07VQsrfjsklLTU1JSkzOtuPitMlLzE21e7pz89N1nS8nb3uxsMdGHywElErOz0vJLAEaZWejGO3s4hjiGP1szq5n81qeTuh9vnzDo4YpSs9mTH6xZe6TPTOe9kx7um7Rs47tT/bNfrprytOpbS9nbwOiJzs6lWJj7Wz0EYYBTS7JBNpgZGBoqWtopGtgomBoYGVqaGVsYKMPlgGpyC9JzCnKLy+2AwnCOUCZlMSSRBCtD2HY6MN9AwBQSwcIYdLQ59oAAAD/AAAAUEsBAhQAFAAIAAgAb1aET2HS0OfaAAAA/wAAABsAAAAAAAAAAAAAAAAAAAAAADIwMTkxMjA0MTA1MTMwOTg0MTA3NTk1LnhtbFBLBQYAAAAAAQABAEkAAAAjAQAAAAA=' 
              b'</xmlResultByte></BODY>'
    
    zip1=base64.b64decode(content)
    
    fio = BytesIO(zip1)
    myzip = zipfile.ZipFile(file=fio)
    print(myzip.namelist())
    print(myzip.read(myzip.namelist()[0]).decode())
  • 相关阅读:
    渲染你刚刚上传的图片,再进行二次上传
    详情页需要显示图片
    上传图片
    毛利率保留俩位小数
    去除input的前后的空格
    vue下载模板、导出excle
    如何从一个对象里面拿数据
    登录注册
    ajax发送请求的数据类型
    WampServer修改MySQL密码
  • 原文地址:https://www.cnblogs.com/nixindecat/p/12157593.html
Copyright © 2011-2022 走看看