我有一堆文件由大约100000行的数据组成。我有一个主目录和12个子文件夹,在12个子文件夹中我有相应的文件相应的不同月份。
我想要一个脚本,我提到路径,脚本将转到12个文件夹中的每个文件,并删除文件中的最后一列。
我写过这个脚本,它没有按预期部分工作。
任何帮助都会有所帮助。
#!/usr/bin/env python
import os, sys
readFile = open("erda0031.dat")
readFile = open("erda0033.dat")
lines = readFile.readlines()
readFile.close()
w = open("erda0031.dat",'w')
w = open("erda0033.dat",'w')
w.writelines([item for item in lines[:-1]])
path = "C:\Users\126\Desktop\python\\"
path = "C:\Users\126\Desktop\python\01_JAN\\"
答案 0 :(得分:1)
您尚未指定有关列分隔符的任何内容。
正如tfv所说,这会删除最后一行。
你可以删除带有核心python片段的最后一个字符。
for line in readFile.readlines():
line = line.rstrip() #Remove trailing whitespace inc. newline.
w.write(line[:-1] + "\n")
但你说最后一栏。所以我觉得你真的想要这样的东西: -
delim = '|'
for line in readFile.readlines():
line = line.rstrip() #Remove trailing whitespace inc. newline.
datarow = line.split(delim)
w.write(delim.join(datarow[:-1]) + "\n")
最后看一下使用csv模块,如果你的数据是csv,它会正确解码你的数据文件的csv,并允许你吐出正确的转义csv。除了在该示例中删除所有繁琐的手动split() - ing和join()。