我目前正在为使用其他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)