Python实现-文件转换

一、业务需求:将下图一转换成下图二

 

 

二、代码实现

 

# coding:utf-8
import xlwt
import time
import openpyxl
SCAlE = 100
NOTICE = '''
\n[Sorry!]文件转换失败,原因主要有:
1.待转换文件名不是:test.txt
2.test.xlsx已被打开
3.本程序只支持“|”格式的文件导入
'''
if __name__ == "__main__":
    try:
        # 1.创建一个workbook
        workbook = openpyxl.Workbook()
        # 2.获取当前活跃的sheet,默认是第一个sheet
        booksheet = workbook.active
        # 3.写入excel, 参数对应 行, 列, 值

        #打开待导入文件
        fp = open("test.txt", "r")
        #记录开始时间
        start_time = time.perf_counter()

        print("1.数据导入开始\n")
        i = 1
        file_length = len(fp.readlines())
        count = 0#记录已处理行数

        fp.seek(0)
        for line in fp:
            filelst = line.strip().split("|")
            booksheet.append(filelst)
            count = count + 1

            a = '*' * i
            c = (count / file_length) * 100
            b = '.' * (100-int(c))
            print("\r{:^6.2f}%:{}->{}".format(c, a, b), end="")
            i = int(c)
        fp.close()

        print("\n\n2.数据导入结束")
        # 4.保存
        print("\n3.数据文件生成中...")
        workbook.save("test.xlsx")
        print("\n[OK!]文件转换成功,总耗时为{:.2f}s".format(time.perf_counter() - start_time))
    except:
        print(NOTICE)
        print(input(u"(回车退出)"))

三、待优化点

  • 文件名可以任意指定
  • 桌面程序更好

 

posted @ 2019-06-18 09:30  n0page404  阅读(110)  评论(0)    收藏  举报