Python delete certain lines from file -
i have csv file looks following:
ccc, rev, pindex, no. 23, 2.5, 0, 4 34, 4.3, 1, 3 27, 7.9, 2, 5 12, 5.7, 3, 7 where third element in each line called pindex. have code replicates each line once, while updating pindex accordingly. output looks following:
ccc, rev, pindex, no. 23, 2.5, 0, 4 23, 2.5, 1, 4 34, 4.3, 2, 3 34, 4.3, 3, 3 27, 7.9, 4, 5 27, 7.9, 5, 5 12, 5.7, 6, 7 12, 5.7, 7, 7 below code that:
with fileinput.input(inplace=true) f: n = 0 line in f: line = line.rstrip('\n') numbers = line.split(sep = ',') in range(2): numbers[3] = n n += 1 s = '' j in numbers: s += str(j) + ',' s = s.rstrip(',') print(s) now want delete 1 duplication each of first , last line, delete first line (after header, pindex 0) , last line in file. using fileinput , trying write result in same file. tried
result = [] result.append(s) which makes each line separate array. make array result_all contain lines(as arrays) , result_all[1:-1] rid of first , last line. not seem work well.
any appreciated!
use can iterate in lines , skip line 1 , last line, need know number lines though.
with open('thatfile', 'r') file: num_of_lines = file.read().count('\n') file.seek(0) = 0 open('newfile', 'w') newfile: line in file: if != 1 , != num_of_lines: newfile.write(line) = + 1
Comments
Post a Comment