В настоящее время я работаю над созданием некоторых графиков и таких для набора данных, сгенерированного мной с помощью другого скрипта 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)