Python 2.7.6 - 读取数组的某个部分

时间:2014-02-18 15:06:27

标签: python arrays string time indexing

我试图从字符串输出字符索引。字符串是数组的一部分,从f = open('times.txt)收集,每一行都在" times.txt"文件遵循相同的布局(dd / mm / yyyy,ss.mm)。

我想只输出最后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.

3 个答案:

答案 0 :(得分:1)

不要对字符切片进行硬编码。只需将,分开,将日期与时间分开:

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

答案 1 :(得分: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

答案 2 :(得分: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所说,使用拆分方法绝对是解决问题的最简单方法。我已经使用你的代码来展示它是如何工作的。