在txt文档指定列添新列:20行代码,让朋友的电脑跑了三个晚上


  我真的要好好学数据结构和算法,看看别人的高效率的代码如何写的才行。实验室会代码的师兄们都毕业了,我上次改了一下他们的代码,跑了几十倍的耗时……

  先把代码摆在这里,等学好算法了,再来改进。


需求

朋友的需求

原始文件形式

最终结果图

一跑跑一天,一共跑三趟

代码

  20行是指把空行和注释啥的都去掉。不然有20+行。

import os

filePath = r"G:\MaXuan\data"
for i, j, k in os.walk(filePath):
    for name in k:
        # print(name)  # 遍历文件夹下的文件名并输出

        output_file_name = os.path.join(filePath, "{}_add_0.txt".format(name))

        f = open(os.path.join(filePath, name))  # 打开txt文件
        line = f.readlines()  # 以行的形式进行读取文件
        f.close()  # 先关闭吧,随后创建一个新的文件来写入
        # print(line)

        with open(output_file_name, 'a', encoding='utf-8') as f:
            for item in line:
                list1 = []
                a = item.splitlines()
                print(a)
                a_first = a[0].split()[:3]
                a_second = a[0].split()[3:]
                list1.append(a_first + ["0"] + a_second)
                line_write = ' '.join(list1[0])
                # print(line_write)
                f.writelines(line_write)
                f.writelines("\n")
        f.close()
posted @ 2022-08-17 11:31  小澳子  阅读(229)  评论(0编辑  收藏  举报