Python Text Widget附加制表符(" \ t")

时间:2017-01-15 17:41:32

标签: python

我的代码中有这个功能只打开一个Dialog并打开一个文本文件,所以在这个文件中它会提取一些特定的信息,它只是基本的数字。我按列提取它们,因为它们显示如下:

1 [tab] 2.942 2,885 3,013 2170 745 2,91 0,00000 0,000
2 [tab] 3,065 3,013 3,129 2500 834 3,00 0,00000 V 0,042
3 [tab] 3,188 3,129 3,261 9813 2449 4,01 0,00000 V 0,084
4 [tab] 3,307 3,261 3,409 4990 891 5,60 0,00000 V 0,124 [...]

[...]

10 [tab] 4,731 4,661 4,793 6855 2037 3,37 0,00000 T 0,608
11 [tab] 4,842 4,793 4,941 2834 829 3,42 0,00000 TV 0,646

我只需要第一个数字,即枚举器,就可以在Text Widget中打印它。问题是我是按列[0:2]提取的,前9个数字只是单个数字,因此小部件会在后面附加制表符。 1,2,3,4,5,6,7,8,9 ..和印刷如:

1

空白

2

空白

3

空白

10

11

12

我想删除这些空格。  这是代码:

def grab_file(self):   
    self.f = tkFileDialog.askopenfile(mode="r",filetypes=(("Description file","*.desc"),("All files","*.*")))
    self.data_list = self.f.readlines()

    self.f.close()

    del self.data_list[141:]
    del self.data_list[0:62]
    for self.line in self.data_list:
        self.lines = self.line.strip().split("\t")
        self.grab_file_irk.append((self.lines[1]))

    self.grab_file_irk = [w.replace(',', '.')for w in self.grab_file_irk]
    self.grab_file_irk.reverse()

    for i in self.grab_file_irk:
        self.grab_file_floated.append(float(i))

    for self.column in self.data_list:
        self.entry0.insert("end",self.column[0:2] + "\n")

感谢您的时间。

1 个答案:

答案 0 :(得分:0)

您可以直接找到第一个制表符的索引:

self.column[:self.column.find('\t')]

或使用正则表达式:

import re
m = re.match('(\d+)', self.column)
s_num = m.group(0)