2014-02-18 27 views
0

我試圖從字符串輸出字符的索引。該字符串是從f = open('times.txt)收集的數組的一部分,「times.txt」文件中的每行都遵循相同的佈局(dd/mm/yyyy,ss.mm)。Python 2.7.6 - 讀取數組的某個部分

我想只輸出最後4個字符作爲浮點數,但我不知道該怎麼做。到目前爲止,我已經從文本文檔中的每個字符串只設法輸出到Python中的單獨的行,即

dd/mm/yyyy, ss.mm 
dd/mm/yyyy, ss.mm 
dd/mm/yyyy, ss.mm 
etc. 

下面是該代碼:

f = open('times.txt') 
lines = f.readlines() 

#For loop to force numbers into an individual line 
i = 0 
for i in range(0,6): 
    print lines[i] + "" 
#This code is under construction. 
def TimeSorter(): 
    global i 
    if i in lines.len(13,17): 
     if lines.len(13,17)(i) > 0: 
      print lines.len(13,17) 

f.close() 

我只希望它打印像如下:

ss.mm 
ss.mm 
ss.mm 
etc. 
+0

「#代碼正在構建中」之後的代碼是我試圖用來完成我想要的代碼,但它什麼也沒做。 – YashMorar

+2

我認爲你的意思是'list',['array'](http://docs.python.org/2/library/array.html)在Python中完全不同。 –

+0

@MartijnPieters @MartijnPieters對不起,這是我的老師在A級計算中告訴我的,他並沒有真正區分我猜想的兩個。 – YashMorar

回答

1

不要硬編碼字符片。剛拆過,分離從時間日期:

with open('so.txt') as f: 
    for line in f: 
     time = float(line.split(', ')[1]) 
     print time 
+0

這幾乎就是我正在尋找的東西,謝謝! – YashMorar

0

您所描述的格式是逗號分隔值文件。幸運的是,Python提供了一個module解析與:

import csv 
with open('times.txt', 'rb') as f: 
    reader = csv.reader(f, delimiter=',') 

    for date_, time_ in reader: 
     t = float(time_) 
     # do something with t here 
     print t # <-- for example 
0
f = open('times.txt')        
lines = f.readlines()        

#For loop to force numbers into an individual line 
for line in lines:         
    print float(line.split(',')[1]) 

正如nooodl表示,採用拆分法無疑是解決這個問題的最簡單的方法。我已經使用你的代碼來展示這將如何工作。