在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()