Python中的txt文件中的拆分列

时间:2017-10-20 12:33:26

标签: python-2.7 multiple-columns

我是python的初学者。我用python 2.7.11创建了一个小脚本来从安捷伦设备获取数据,但格式并不理想。 到目前为止,我已经设法在txt文件中格式化我的数据:

FREQ1

FREQ2

...

freq201

DATA1

DATA2

...

data201

我想将它们格式化如下,以便我可以轻松地使用excel打开txt文件:

freq1; DATA1

freq2; DATA2

......; ...

freq201; data201

你知道有什么简单的方法来实现这个目标吗?

提前致谢

CL

1 个答案:

答案 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 ...

希望这有帮助!