我想采用以下格式的.txt文件:
StateOne[edit]
RegionOne (UniversityOne)[1]
RegionTwo (UniversityTwo)
RegionThree (UniversityThree)[2]
并清理此数据并以此格式的DataFrame返回:
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 :(得分: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)
我希望它有所帮助!