2016-05-10 2 views
0

Я читаю в файле, который имеет столбец раз, который находится в формате часа, минуты, секунды (023456). В файле есть другие столбцы, с которыми я не имею дело в то время. Я проигнорировал другие значения.Преобразование временных строк в целые числа

020746 10 -1 
020823 5 -1 
020839 6 -1 
020812 6 0 

Моя цель состоит в том, чтобы прочитать колонку в виде строки, а затем разделить время в соответствующий час, минуту, а второй в виде целого числа. До сих пор у меня есть это:

f = open(file, 'r') 
for line in f: 
    line = line.strip() 
    columns = line.split() 
    time = columns[0] 
f.close() 

hour = int(time[0:2]) 
minute = int(time[2:4]) 
second = int(time[4:6]) 

Если я положил заявление для печати в течение цикла, он печатает все соответствующие времена в строке. Однако, когда я печатаю час, минуту или секунду, он выводит только значения последнего времени в столбце времени. Например, он будет печатать

print(hour) 
2 
print(minute) 
8 
print(second) 
12 

Есть ли способ, чтобы распечатать все соответствующие часы, минуты и секунды в список, чтобы получить:

print(hour) 
[2, 2, 2, 2] 
print(minute) 
[7, 8, 8, 8] 
print(second) 
[46, 23, 39, 12] 

Любая помощь будет принята с благодарностью!

+0

Да, создайте второй, минимальный и часовой список перед циклом, а затем добавьте результаты i в каждый список в цикле. – PyNoob

ответ

0

Вам необходимо создать новые списки для хранения значений, а затем их распечатать. Вот что я сделал.

hourlist,minutelist,secondlist=[],[],[] 

f = open("newtext.txt", 'r') 
for line in f: 
    line = line.strip() 
    columns = line.split() 
    time = columns[0] 
    hourlist.append(int(time[0:2])) 
    minutelist.append(int(time[2:4])) 
    secondlist.append(int(time[4:6])) 
f.close() 

hour = int(time[0:2]) 
minute = int(time[2:4]) 
second = int(time[4:6]) 

print hourlist, minutelist,secondlist 
0

Как предложено pyNoob. Создайте list со временем и append информацию о нем.

time_list = [] 
f = open(file, 'r') 
for line in flash: 
    line = line.strip() 
    columns = line.split() 
    time = columns[0] 
    hour = int(time[0:2]) 
    minute = int(time[2:4]) 
    second = int(time[4:6]) 
    time_list.append(hour, minute, second) 
f.close() 
Смежные вопросы