python 将txt内容写入excel

复制代码
#!/usr/bin/env python
# -*- coding: utf-8 -*

import os
import xlrd
import xlwt
import datetime
import re
from utils.XUtils import XUtils


def create_and_write_data_to_excel(p_file_name_prefix=None, p_sheetname=None, p_data=None):
    wbk = xlwt.Workbook()
    if p_sheetname is None:
        p_sheetname = 'Sheet1'
    sheet = wbk.add_sheet(p_sheetname, cell_overwrite_ok=True)
    for i in xrange(len(p_data)):
        for j in xrange(len(p_data[i])):
            sheet.write(i, j, p_data[i][j])
    filename = p_file_name_prefix + datetime.datetime.now().strftime("%Y-%m-%d_%H-%M-%S") + ".xls"
    wbk.save(filename)
    return wbk




if __name__ == '__main__':
    module_path = os.path.dirname(__file__)
    filename = module_path + '/report_db_20180301_20180302_11881.2_0_100_gdt.txt'
    """
    txt 内容
    gdt 20180301 -1.0000 6 2 0.3333 -0.1667 -0.5000
    gdt 20180302 -1.0000 4 1 0.2500 -0.2500 -1.0000
    gdt SUM 11881.2000 10 3 0.3000 1188.1200 3960.4000
    all_acc=10, new_acc=3, r=0.3000 unit_price_all=1188.120000 unit_price_new=3960.400000
    #新建一个总的列表 
    按照每行读取txt,按照空格分割成一个小的列表,append到大的列表,后进行写入excel
    """

    fopen2 = open(filename, 'r')
    lines = fopen2.readlines()
    all_list = []
    excel_title = [u'广点通',u'日期',u'收入',u'总激活数',u'新增激活数',u'新增激活数/总激活数',u'总激活单价',u'新增激活单价']
    all_list.append(excel_title)
    for line in lines:
        # charts to list
        l1 = re.split('[ ]+', line)
        all_list.append(l1)

    create_and_write_data_to_excel(p_file_name_prefix='txt_to_excel',p_sheetname='test1',p_data=all_list)
    print('success')
复制代码

 

posted on   星河赵  阅读(2487)  评论(0编辑  收藏  举报

编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示