如何使用Python将文本文件转换为CSV格式的所需格式

时间:2018-04-29 15:18:13

标签: python python-3.x csv numpy text

我目前正在为使用其他Python脚本生成的数据集生成一些图表等。目标是在运行其他程序后自动生成这些图形,因此这里不能选择手动编辑。

原始代码生成一个文本文件,格式为: center_freq 791125000.0 freq 790625000.0 power_db 0.211535437034 noise_floor_db -100.913246571

这些行中大约有50行来自代码,每次都有不同的结果 我已设法将其分成每个单独项目的列表,并将其转换为CSV文件,其中每个字符串或整数都在其自己的行中。

然而,使用numpy似乎如果只有每个列顶部的类别标题后跟所有数据会更容易。我不知道如何从当前状态进行修改,这是我现在的代码:

获取文本文件并生成列表:

     import sys

     open_file = open("usrp_official_jamming.txt","r")
     f = open("datafiles.txt","w+")
     lst = list()
     sys.stdout = f


     for line in open_file:
            words = line.split()

     for word in words:
            lst.append(word)

     n = 27
     lst2 = lst[n:-1]
     print(lst2)

然后获取列表并生成CSV:

    import csv
    from itertools import izip_longest

    with open('datafiles.txt') as f:
        with open('usrpcsv.csv', 'wb') as csv_file:
            writer = csv.writer(csv_file)
            for line in f.readlines():
                 data = line.split(', ')
                 chunks= [data[x:x+8] for x in xrange(0, len(data), 8)]
                 for chunk in chunks:
                     writer.writerow(chunk)

0 个答案:

没有答案