Skip to content Skip to sidebar Skip to footer

Comma Separated Matrix From Txt Files - Continued

I need to form a matrix from a list of textfiles containing frequency distribution of expressions. Therefore, I created a list of all that text files (lof) from a directory and use

Solution 1:

This should do the trick:

import os

outFile = 'C:/CompanyFiles/Matrix.txt'
folder = 'C:/CompanyFiles'

with open(outFile, 'w') as wfp:
    for f inos.listdir(inFolder):
        tmp = [line.rstrip() for line inopen(os.path.join(folder, f), 'r')]
        arr = tmp[0].split('-')
        arr = [arr[0]] + arr[1].split('_')
        arr += [t.split(':')[1].strip() for t in tmp[1:]]
        wfp.write(','.join(["'" + e + "'"for e in arr]) + '\n')

Note: I haven't tested it thoroughly

Solution 2:

Try this, after your list of files

#your code

lof = list_textfiles(directory, minimum_size)

for i in lof:
    withopen(i) as f:
        for j in f:
            out_list = []
            split_to_out = j.split("-")
            out_list.append(split_to_out[0])
            out_list.append(split_to_out[1].split("_")[0])
            out_list.append(split_to_out[1].split("_")[1])
            temp = next(f, None)
            while temp:
                out_list.append(temp.split(":")[-1])
                temp = next(f, None)
            out_list = [i.strip() for i in out_list]
            to_write = ",".join(out_list) + "\n"withopen('/home/quadloops/Matrix.txt', 'a') as outfile:
                outfile.write(str(to_write))

>>>cat Matrix.txt
Company ABC,123456,31.12.2012,4,8,2,0,213
Company123,789102,31.12.2012,15,3,8,2,23

Change to to_write = ",".join(out_list) + "\n" gives

>>>cat Matrix.txt
'Company ABC','123456','31.12.2012','4','8','2','0','213''Company123','789102','31.12.2012','15','3','8','2','23'

Post a Comment for "Comma Separated Matrix From Txt Files - Continued"