2015-09-22 144 views
-2

即时通讯!将文本文件转换为Python中的列表

我有一个文本文件是这样的:

dates sampletime occupancy SActivities SPresence KhPresence AuPresence CarloPresence 
04/05/2015 00:00:00 1430690400 0 0 0 0 0 0 
04/05/2015 00:30:00 1430692200 0 0 0 0 0 0 
04/05/2015 01:00:00 1430694000 0 0 0 0 0 0 
04/05/2015 01:30:00 1430695800 0 0 0 0 0 0 
04/05/2015 02:00:00 1430697600 0 0 0 0 0 0 
04/05/2015 02:30:00 1430699400 0 0 0 0 0 0 
04/05/2015 03:00:00 1430701200 0 0 0 0 0 0 
04/05/2015 03:30:00 1430703000 0 0 0 0 0 0 
04/05/2015 04:00:00 1430704800 0 0 0 0 0 0 
04/05/2015 04:30:00 1430706600 0 0 0 0 0 0 
04/05/2015 05:00:00 1430708400 0 0 0 0 0 0 
04/05/2015 05:30:00 1430710200 0 0 0 0 0 0 
04/05/2015 06:00:00 1430712000 0 0 0 0 0 0 
04/05/2015 06:30:00 1430713800 0 0 0 0 0 0 
04/05/2015 07:00:00 1430715600 0 0 0 0 0 0 
04/05/2015 07:30:00 1430717400 0 0 0 0 0 0 
04/05/2015 08:00:00 1430719200 0 0 0 0 0 0 
04/05/2015 08:30:00 1430721000 0 0 0 0 0 0 
04/05/2015 09:00:00 1430722800 0 0 0 0 0 0 
04/05/2015 09:30:00 1430724600 0 0 0 0 0 0 
04/05/2015 10:00:00 1430726400 1 0 0 1 0 0 
04/05/2015 10:30:00 1430728200 1 0 0 1 0 0 
04/05/2015 11:00:00 1430730000 1 0 0 1 0 0 
04/05/2015 11:30:00 1430731800 1 0 0 1 0 0 
04/05/2015 12:00:00 1430733600 1 0 0 1 0 0 
04/05/2015 12:30:00 1430735400 1 0 0 1 0 0 
04/05/2015 13:00:00 1430737200 1 0 0 1 0 0 
04/05/2015 13:30:00 1430739000 2 1 1 1 0 0 
04/05/2015 14:00:00 1430740800 3 1 1 1 0 0 
04/05/2015 14:30:00 1430742600 4 1 1 1 0 1 
04/05/2015 15:00:00 1430744400 2 1 1 1 0 0 

我想检索数据从分配给相应的列自动与其他文件第二行开始。我怎样才能做到这一点?

例:

Spresence=['0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0',...] 

太谢谢你了!

+0

您必须显示迄今为止已有的代码,以便其他人可以帮助您。否则,没有办法给你一个建议。 –

+0

atleast至少你可以尝试自己做一些事情... – PYPL

回答

0
import re 
Spresence = [] 
with open('yourFile.txt') as FL: 
    for line in FL.readlines()[1:]: 
     m = re.match("\S+\s+\S+\s+\S+\s+(.*)", line) 
     if m: 
      Spresence+=re.split('\s+',m.group(1)) 

输出

>>>Spresence 
['0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '1', '0', '0', '1', '0', '0', '1', '0', '0', '1', '0', '0', '1', '0', '0', '1', '0', '0', '1', '0', '0', '1', '0', '0', '1', '0', '0', '1', '0', '0', '1', '0', '0', '1', '0', '0', '1', '0', '0', '1', '0', '0', '2', '1', '1', '1', '0', '0', '3', '1', '1', '1', '0', '0', '4', '1', '1', '1', '0', '1', '2', '1', '1', '1', '0', '0'] 
+0

自动与其他文件。我怎样才能做到这一点? – Markup2510

0

有点哈克但它的工作原理:

import os 
file = open("file.txt", 'r') 
spresence = [] 
for line in file.readlines(): 
     splitLine = line.split(" ") 
     if len(splitLine) < 5: 
       continue 
     if splitLine[4] == "SPresence": 
       continue 
     spresence.append(splitLine[4]) 
print spresence 

打开文件,创建一个数组,为文件中的每一行它每每个空间分割线然后抓取将成为SPresence列的第五个元素。它需要该元素并将其添加到热量数组中并在末尾打印

+0

thx,但我想与其他文件自动执行。我怎样才能做到这一点? – Markup2510

+0

如果你想使用另一个文件,只需将“file.txt”改为另一个文件名。此外,如果这是你的答案,那么请选择它作为答案。 – sbrichards

相关问题