2014-05-16 22 views
1

我想更新Python中現有的file.txt,它有兩列,一列爲日期,一列爲時間,以便在另一列中總結新時間同一個文件。在Python中爲現有文件添加時間

Sunday  07:00 
Monday  07:35 
Tuesday  05:35 
Wednesday 06:45 
Thursday 08:40 

例如,加入30分:

Sunday  07:00 07:30 
Monday  07:35 08:05 
Tuesday  05:35 06:05 
Wednesday 06:45 07:15 
Thursday 08:40 09:10 
+0

這是什麼都與Django的標籤呢? :) –

+0

你可以添加一些你已經試過的代碼嗎? – ntzm

回答

2

datetime模塊是用於這非常有幫助。它可讓您創建time對象和timedelta對象,只需使用+運算符即可將它們相加。所以,到三十分鐘添加到8時30分25秒:

>>> from datetime import datetime, timedelta 
>>> d = datetime.strptime("08:30:25", "%I:%M:%S") + timedelta(minutes=30) 
>>> d.strftime("%I:%M:%S") 
'09:00:25' 
1
In [139]: d='Sunday  07:00' 

In [140]: b=d.split() 

In [141]: b 
Out[141]: ['Sunday', '07:00'] 

In [142]: (datetime.datetime.strptime(b[1], '%H:%M') + datetime.timedelta(minutes=30)).strftime('%H:%M') 
Out[142]: '07:30' 
+0

OUTFILE =開放( 'file.txt的', 'W')

字典= {}

在文件( 'file.txt的', 'R')線:
(鍵,val)的= line.split()
字典[鍵] = VAL
打印字典


OBJ = Salestracker()
對於i在dict.keys():
outfile.write(ⅰ)
VAL = dict.get(ⅰ)
outfile.write( ' ')
outfile.write(VAL)
outfile.write('')
爲i的範圍(1,5):
q = INT(的raw_input( 「輸入每1個小時後的出售」))
VAL = obj.updateSales(VAL,q)
outfile.write(VAL)
outfile.write(」「)
outfile.write ('\ n') –

+0

@Cottoncandy編輯您的原始問題以包含該代碼。它的評論無法閱讀。 – dano

1
from datetime import datetime, timedelta 

f=open("testcase","r") #open the file 

pairs = [l.split() for l in f.readlines()] #get [day,time] pairs 

f.close() 

#this long line creates a list of [day,time1,time2] using list comprehensions 
#you can change it a bit to change the output format. 
data = ["%s%s%s\n" % (p[0].ljust(12),p[1].ljust(8), 
    (datetime.strptime(p[1],"%H:%M") + timedelta(minutes=30)).strftime("%H:%M")) 
    for p in pairs] 

#reopen the file for writing and store the new data. 
f = open("testcase","w") 
f.writelines(data) 
f.close(); 
相關問題