python对于时间(hh:mm)进行循环递增

某数据写入数据表时,其中一个字段是time,具体内容是从00:00一直到23:30。因此打算用python对csv文件进行逐行处理,新建time列,其中的数据按照半小时递增。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
import os
import time
#对于时间进行处理需要引入time

def importcsv(filename,outfilename):
print(filename)
filenamerow = filename.split('-')
filenamerow[2] = filenamerow[2][:-4]
date = filenamerow[1]
type = filenamerow[2]
lctime = 1325347200.0
#设定一个时间戳,对应的是某一天的00:00
g=file(type+ '-' +date+ '.csv','w+')
with open(filename, 'r') as f:
line = f.readline()
while line:
line = line.replace('n','')
line = line.replace('r','')
line = line + ',,'
row = line.split(',')
row[2] = row[0]
x = time.localtime(lctime)
#对时间戳进行处理,得到
#time.struct_time(tm_year=2012, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=6, tm_yday=1, tm_isdst=0)
row[1] = time.strftime('%H:%M',x)
#对以上的时间进行格式化并写入第二列。格式为HH:MM
row[0] = date
for i in range(0, len(row)-1):
row[i] = row[i] + ','
g.writelines(row)
g.writelines('n')
lctime = lctime + 1800.0
#时间戳加上1800,相当于加上了1800s = 30min
line = f.readline()
g.close()

def ListFiles():
for i in os.listdir(data_folder):
if i.endswith('.csv'):
importcsv(i,i)

python中时间戳都是以s为单位,且格式为浮点