How to unlist given list in python?

Question:

I have to copy particular columns from a given file to another file. but while copying that columns to another file i don’t need them in list format. How can i do that?

eg suppose file is abc.txt.gz

bit address  data                                        code  new
 
0   0FA34B   0002623748594759834784648294918748734610484 123   00000001

1   AB102C   2814699837426459814735985739460746706706600 124   00000002

1   C102BC   1237748798359846709648378598089837658736738 125   00000003

From this data i needed to copy 3rd and 4th column and move to another file.

Expected output: data.txt

In expected output I only need data & new. I don’t want nothing else to get copied to my new file.
Example:

0002623748594759834784648294918748734610484 00000001

2814699837426459814735985739460746706706600 00000002

1237748798359846709648378598089837658736738 00000003

This is my current attempt:

import gzip
with gzip.open("abc.txt.gz", "rb") as fin:
    with open('data.txt', 'w') as fout:
        fout.write(fin.readline())
        fout.write(fin.readline())
        for l in fin:
            if l.strip("n '"):
                column = l.split(" ")
                fout.write("%s %s n" % (column[3:4], column[4:5]))

Current output:

--name of file

--data of file

[] []

['']

['']

['0002623748594759834784648294918748734610484'] ['00000001']

['2814699837426459814735985739460746706706600'] ['00000002']

['1237748798359846709648378598089837658736738'] ['00000003']
Asked By: avs

||

Answers:

You can do something like this:

       columns = l.split(" ")
       if len(columns) == 5: # validate line that it has exactly 5 columns
           fout.write("%s %s n" % (columns[3], columns[4]))
Answered By: svfat
Categories: questions Tags:
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.