• Python学习(六):txt分割为xlsx


    # 首先安装读写xlsx包 pip install openpyxl==3.0.0 rem 读写 xlsx 3.0.2可能是出现了bug
    # -*- coding: utf-8 -*-
    import os
    import datetime
    from openpyxl import Workbook
    
    outpath = r'D:\txt2xlsx\'
    txtname = 'xls.txt'
    
    # 写入测试文件
    def write_txt():
        file = outpath + txtname
        write_path = open(file, 'w')
        for num in range(1, 2000000):  # 迭代 1 到 2000000 之间的数字
            # 拼接txt行 制表符分割,也可以改为逗号分割
            line = '测试'+str(num)+'	'+datetime.strftime(datetime.now(),'%Y-%m-%d %H:%M:%S')
            # 写入txt行
            write_path.write(line + '
    ')
        write_path.close()
    
    
    # 分割成n个xlsx
    def cut_xlsx():
        # 每个文件行数
        LIMIT = 1000000
        # 分割文件数
        file_count = 1
        # 行数组
        data_list = []
    
        file = outpath + txtname
        if os.path.exists(file):
            with open(file) as f:
                for line in f:
                    data_list.append(line[:-1])
                    if len(data_list) < LIMIT:
                        continue
                    # 数据达到LIMIT
                    wb = Workbook()
                    ws = wb.active
                    for line in data_list:
                        ws.append(line.split('	')) #制表符分割,也可以改为逗号分割
                    wb.save(outpath + str(file_count) + '.xlsx')
    
                    data_list = []
                    file_count += 1
            f.close()
    
            if data_list:
                wb = Workbook()
                ws = wb.active
                for line in data_list:
                    ws.append(line.split('	')) #制表符分割,也可以改为逗号分割
                wb.save(outpath + str(file_count) + '.xlsx')
    
        print('分割为' + str(file_count)+ '个xlsx文件')
    
    
    # 程序入口
    if __name__ == '__main__':
        cut_xlsx()
  • 相关阅读:
    研修班第四次课笔记
    形象革命——穿搭
    对管理者的几点要求
    全链路压测
    项目管理最忌的5件事,千万不要忽视!
    2018年计划小目标(9月)PMP
    NLP是什么
    (深度好文)重构CMDB,避免运维之耻
    《转》我们不得不面对的中年职场危机
    项目管理,让自己更从容
  • 原文地址:https://www.cnblogs.com/liw66/p/12523869.html
Copyright © 2020-2023  润新知