我正在读取一个文件,其中的列时间格式为小时,分钟,秒(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])
如果我在for循环中放置一个print语句,它会在字符串中打印所有相应的时间。但是,当我打印小时,分钟或秒时,它只打印出时间列中最后时间的值。例如,它将打印
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 :(得分: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()
答案 1 :(得分: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