: 필드 사이에 탭 구분 기호가 가정
.
그렇다면, 당신이 할 수 있습니다 :
data={}
ss=((0,19),(20,41),(42,80))
with open('/tmp/p.txt','r') as f:
for n,line in enumerate(f):
fields={}
for i,j in ss:
field=line[i:j]
t=field.split(':')
fields[t[0].strip()]=t[1].strip()
data[n]=fields
print data
인쇄 :
{0: {'comment': 'outstanding', 'field 2': 'first', 'field 1': 'dog'}, 1: {'comment': 'some comment about the cat', 'field 2': '', 'field 1': 'cat'}}
당신이 목록하려면 다음 두 경우
data=[]
ss=((0,19),(20,41),(42,80))
with open('/tmp/p.txt','r') as f:
for n,line in enumerate(f):
fields={}
for i,j in ss:
field=line[i:j]
t=field.split(':')
fields[t[0].strip()]=t[1].strip()
data.append(fields)
을, 당신은에 액세스 할 수 있습니다 :
>>> data[0]['comment']
'outstanding'
이 탭은 구분됩니까? – jamylak
@jamylak 아니오, 공백 만 입력하십시오. –
정규식처럼 보이면 여기로 갈 수 있습니다. 다른 필드가있을 때 어떻게 알 수 있습니까? 그것을 나타 내기 위해 항상 둘 이상의 공간이 있습니까? – jamylak