2016-11-26 69 views
-2

我想借一個.txt文件,該文件是採用以下格式:格式化大熊貓.txt文件

StateOne[edit] 

RegionOne (UniversityOne)[1] 

RegionTwo (UniversityTwo) 

RegionThree (UniversityThree)[2] 

,並有這樣的數據進行清理,並在此格式的數據幀返回:

State RegionName 
0 StateOne RegionOne 
1 StateOne RegionTwo 
2 StateOne RegionThree 

所以例如我有:

Alabama[edit] 

Auburn (Auburn University)[1] 

Florence (University of North Alabama) 

Jacksonville (Jacksonville State University)[2] 

,我需要此轉換成數據幀:

State RegionName 
0 Alabama Auburn 
1 Alabama Florence 
2 Alabama Jacksonville 

我有點困惑如何刪除字符,如"["至年底,並讓他們被命名爲"State"。而對於"RegionName",則在需要時從"("中刪除每個字符以結束。在熊貓身上相當新穎,並且爲了簡單快捷地完成此操作而感到困惑。

+0

通常它如果你至少已經嘗試過了,並且顯示 – dartdog

+0

謝謝你的建議。我是堆棧溢出的新手,所以我在這裏學習規則。我嘗試了一個'str.split()'方法,但它似乎沒有得到我想要的結果 – kma

回答

0

這是假設狀態總是有[]和地區()「編輯」。

的竅門是做一個split在「[」和「(」(如適用),並用字符串的第一部分留。

string = '''Alabama[edit] 

Auburn (Auburn University)[1] 

Florence (University of North Alabama) 

Jacksonville (Jacksonville State University)[2]''' 

i = 0 
print(' \t' + 'State' + '\t' + 'RegionName') 

for line in string.split('\n'):  # Split by the line breaks 
    if line == '':     # We skip the line if it is empty 
     continue 
    if 'edit' in line:    # We look for some "edit" and 
     state, spam = line.split('[') # store it in a variable 
     continue      # When we find other 
             # it will replace 
    region_name, spam = line.split(' (') 
    i += 1       # The same but with '(' 
    print(str(i) + '\t' + state + '\t' + region_name) 

我希望它能幫助!

+0

非常感謝你的幫助,我真的很感激。 – kma