2015-11-05 72 views
2

我遇到了一些試圖正確讀取文件的問題。Python閱讀文本塊

我只有一個代碼來顯示我試圖稍微瞄準一下。但我想讀取每塊數據(四行)並將每個塊插入一個數組中。我還需要將「城市」,「州」和「拉鍊」彼此分開。

據我所知,我應該讀取文件,我讀的每個塊直到一個空行,在那裏我會檢查,看看它是否是第三行,如果是這樣解析每個部分到自己的元素,並做所有這些直到最後。然而,我在使用Python的編碼部分遇到問題。我對Python不太熟悉。

我的數據:

Name 
address 
city, state zip 
phone number 
//empty line 
Name 
address 
.... 

我的代碼:

with open('tester_everything.txt') as f:                             
mylist = []                                    
i=0                                      
for lines in f:                                   
    other_list = []   
    if lines == '\n': 
    mylist.append(other_list) 
    other_list = [] 

    other_list.insert(i, lines)                              
    i = i+1                                    
print mylist                                    
f.close() 

這將創建內部MYLIST所有空元素。

+0

在保存之前清空了'other_list'。在'for'後刪除第一個'other_list = []',並在'with'之後重寫。 – Kamejoin

+0

是:'城市,州郵編或'城市,州,郵編? –

回答

2
with open('tester_everything.txt') as f:                             
    mylist = [] 
    other_list = []                                     
    for lines in f:                                   
     if lines == '\n': 
      mylist.append(other_list) 
      other_list = [] 
     else: 
      other_list.append(lines)                                                                 
    print mylist                                   
+0

謝謝,我不能相信我現在忘記了我現在看到的其他聲明。 如果我想解析第三行數據,我會在else語句中添加另一個if/else語句嗎? – tholsapp

+0

是的。你可以在'for'之前設置一個計數器'count = 0',如果lines =='\ n''則將其重置爲0,否則加1。然後你可以添加'if count == 2;'(第三行)並完成你的代碼。 – Kamejoin