python script for .dat file

Steven D'Aprano steve at pearwood.info
Tue Apr 5 21:09:52 EDT 2016


On Wed, 6 Apr 2016 07:49 am, Muhammad Ali wrote:

> Would any one paste here some reference/sample python code for such
> extraction of data into text file?

column1 = ['aa', 'bb', 'cc', 'dd', 'ee', 'ff']  # strings
column2 = [97, 105, 16, 4, 48, 274]  # ints
column3 = [12.345, 7.821, -4.034, 19.034, 23.0, 42.0]  # floats


# Open the file for writing. It will be closed 
# automatically at the end of the block.
with open("myfile.dat", "w") as f:
    for t in zip(column1, column2, column3):
        line = "%-9s %-9d %-9f\n" % t
        print(line, end='')
        f.write(line)



The function zip(...) combines one element from each argument into a tuple
of three values, like 

t = ('aa', 97, 12.345)
t = ('bb', 105, 7.821)

etc. The string formatting line:

line = "%-9s %-9d %-9f\n" % t


builds a new string. The code %s takes any object, including strings, and
inserts it into the new string. %d requires an int, and %f requires a
float. The \n at the end inserts a newline.

The -9 inside the formatting codes sets the width and justification:

%-9d

formats an integer in nine columns, justified on the left, while %9d
justifies to the right:


py> print("%-9d." % 23)
23       .
py> print("%9d." % 23)
       23.


Finally, the line is printed so you can see what it looks like, and written
to the file.


-- 
Steven




More information about the Python-list mailing list