我是python的初学者。我用python 2.7.11创建了一个小脚本来从安捷伦设备获取数据,但格式并不理想。 到目前为止,我已经设法在txt文件中格式化我的数据:
FREQ1
FREQ2
...
freq201
DATA1
DATA2
...
data201
我想将它们格式化如下,以便我可以轻松地使用excel打开txt文件:
freq1; DATA1
freq2; DATA2
......; ...
freq201; data201
你知道有什么简单的方法来实现这个目标吗?
提前致谢
CL
答案 0 :(得分:0)
由于你有相同数量的freq行和数据行,所以这段代码可以解决这个问题:
#imports OrderedDict to have an Ordered dictionary
from collections import OrderedDict
#opens files
my_file = open('freq.txt','r')
my_new_file = open("new.txt",'w')
#saves lines of file as a list, with each line being one item in the list
lines_list = my_file.readlines()
#creates empty dictionary to fill with data
freq_data = OrderedDict()
#iterates through lines and adds to dictionary, with freq as key and data as value
for line in range(len(lines_list)/2):
freq_data[lines_list[line]] = lines_list[line+10]
keys = freq_data.keys()
#writes to your new file
for i in keys:
my_new_file.write(i.strip() + ' ; ' + freq_data[i])
#closes both files
my_file.close()
my_new_file.close()
本代码的作用基本上是打开文件,将每个freq连接到相应的数据值,然后将其写入新文件。您可以更改行
freq_data[lines_list[line]] = lines_list[line+10]
你的数据除以2的任意行数,所以对你来说就是
freq_data[lines_list[line]] = lines_list[line+201]
这会使文本文件看起来像:
freq1 freq2 freq3 ... data1 data2 data3
... 进入
freq1; DATA1
freq2; DATA2
freq3; data3 ...
希望这有帮助!