所以现在我有.csv中的时间戳+ ID列表,我想使用项目的部分为列表中的每个项目构建一个字符串,例如:
item = 27.02.2015 02:04:00 70002104
我想建一个字符串,上面写着“在27.02.2015 02:04:00,ID是70002104”
现在我正在使用下面的代码,但是它给了exid列表中的前19个项目,然后是transTime的其余项目,而不是列表中每个项目的前19个字符作为exid和transTime一样休息。
import time, csv
l = open('InputList.csv')
inputList = csv.reader(l)
for item in inputList:
exid = item[19:]
transTime = item[:19]
print 'At ' + str(transTime) + 'the ID is ' + str(exid)
我知道这是一种笨重的方式,但我是编程的新手,这是我能做的最好的。我真正喜欢这样做的方式是.csv看起来像这样:
Date Time exid
--------------------------------
27.02.2015 02:04:00 70002104
27.02.2015 02:54:35 70004630
然后对于.csv中的每一行,我都会输出由该行的每一列中的日期,时间和exid组成的字符串。
希望这是有道理的。谢谢你的帮助!
答案 0 :(得分:1)
如果您的字符串全部采用该格式[date] [time] [id]
,那么空格上只有split。
with open('InputList.csv') as l:
inputList = csv.reader(l)
for item in inputList:
print('At {} {} the ID is {}'.format(*item.split()))
由于您的目标是CSV文件,请查看csv.writer。请注意,csv.DictWriter支持文件writing headers,但您必须编写词典:
fieldnames = ['Date', 'Time', 'exid']
writer.writerow({fieldnames[i]: e for i, e in enumerate(item.split())})
答案 1 :(得分:0)
t = '27.02.2015 02:04:00 70002104'
timestamp, id = t.rsplit(' ', 1)
print('At %s the Id is %s' % (timestamp, id))
或
t = '27.02.2015 02:04:00 70002104'
date, time, id = t.split(' ')
print('date = %s time = %s id = %s' % (date, time, id))