如果你想使用python,你可以这样做。
import csv
import os
def read_csv(inputfile, outputfile):
try:
with open(inputfile, 'r') as csvfile:
file = csv.reader(csvfile, delimiter='|', lineterminator = '\n')
for i, line in enumerate(file):
if i > 3:
write_csv(line,outputfile)
except IOError:
print "IOError in ", inputfile
def write_csv(w_list, outputfile):
with open(outputfile, 'a') as f:
writer = csv.writer(f, delimiter = '|', lineterminator = '\n')
writer.writerows(w_list)
def main():
indir = 'path to dir with csv'
for root, dirs, filenames in os.walk(indir):
for f in filenames:
filename = os.path.join(root , f)
if '.csv' in filename:
read_csv(filename, outputfile='output' +filename)
if __name__=="__main__":
main()
或者你可以使用:
tail -n +4 original.csv > original-4-top-lines.csv
检查您的循环。您首先迭代文件并每次重新定义数据。然后用''data'的** last **定义,运行第二个循环。你想在一个循环中使用'rw'或者(更好地)创建一个缩减内容的新文件。 –
这些文件有多大? readlines()将所有数据加载到内存中 – oshaiken