我的代码中有这个功能只打开一个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")
感谢您的时间。
答案 0 :(得分:0)
您可以直接找到第一个制表符的索引:
self.column[:self.column.find('\t')]
或使用正则表达式:
import re
m = re.match('(\d+)', self.column)
s_num = m.group(0)