求助!在python里怎么可以不用split却提取文件中的具体数据?
如题,详细来讲是,不但不能用split, dictionary和各种collection都不让用!
程序的要求是在一个txt格式的表格里,找到第九行最小的那个数字,并且通过这个数字,同时找到与数字同一列的,年份和四十四行的另一个数值。我的思路里,知道要用slicing,但是尝试写了一些之后发现因为没有剔除一行中的非数字字符所以运行不了。
min_num = 100000start_index = 0 index_num = 0min_index = 0i = 0def open_file(): '''Continously prompt for file until successfully opened.''' while True: in_file = input("input the filename:") try: in_file = open ("GDP.txt","r") return in_file except: print("Error. Please input again:") in_file = open_file()count = 1for line in in_file: if count == 9: line9 = line print (len(line9)) print (line9[76:303:12]) while i < len (line9): if line9.isdigit() is False: checking_value = eval(line9[start_index:i]) if checking_value < min_num: min_num = checking_value min_index = index_num start_index = i + 1 index_num += 1 i += 1 print(min_num, min_index) count += 1print (line9)求助!我这样写方法对吗?有错误怎么修改?
GDP.txt |
免责声明:本内容仅代表回答会员见解不代表天盟观点,请谨慎对待。
版权声明:作者保留权利,不代表天盟立场。
|
|
|
|
因为是初学者,所以用的是笨方法。现在写完了一部分,在查找第九行的最小值的时候就出现了问题
index=0min_value_str=str("10000")n=1#中间是一段读文件和得到具体行数的操作forvalueinline9:value=line9[76+12*n:76+12*(n+1)]ifvalue |
|
|
|
|