2016-12-14 4 views
-2

ich einen Datenrahmen haben (siehe unten), für die Spalte ‚Name‘, Ich möchte die (zum Beispiel die erste Zeile)Python: Lesen Sie einen Ordner mit dem Dateinamen und Dateikonzept

'/Users/xccxken/Desktop/NNRelease/paperVersion/' 

löschen und

'.txt' 

halten nur das Wort wie (Beispiel der ersten Reihe)

'Topic+Topic_of_Situation.shortageglut' 

in jeder Zeile

,n_1,n_2,name 
0,water,shortage,/Users/xccxken/Desktop/NNRelease/paperVersion/Topic+Topic_of_Situation.shortageglut.txt 
1,supply,shortage,/Users/xccxken/Desktop/NNRelease/paperVersion/Topic+Topic_of_Situation.shortageglut.txt 
2,skill,shortage,/Users/xccxken/Desktop/NNRelease/paperVersion/Topic+Topic_of_Situation.shortageglut.txt 
214,income,policy,/Users/xccxken/Desktop/NNRelease/paperVersion/Topic+Topic_of_Plan&Deal&Rules.rules.legal.txt 
215,immigration,policy,/Users/xccxken/Desktop/NNRelease/paperVersion/Topic+Topic_of_Plan&Deal&Rules.rules.legal.txt 
216,health,policy,/Users/xccxken/Desktop/NNRelease/paperVersion/Topic+Topic_of_Plan&Deal&Rules.rules.legal.txt 
485,license,agreement,/Users/xccxken/Desktop/NNRelease/paperVersion/Topic+Topic_of_Plan&Deal&Rules.deal.txt 
486,lease,agreement,/Users/xccxken/Desktop/NNRelease/paperVersion/Topic+Topic_of_Plan&Deal&Rules.deal.txt 
487,immunity,agreement,/Users/xccxken/Desktop/NNRelease/paperVersion/Topic+Topic_of_Plan&Deal&Rules.deal.txt 
488,franchise,agreement,/Users/xccxken/Desktop/NNRelease/paperVersion/Topic+Topic_of_Plan&Deal&Rules.deal.txt 
+0

Ihr Beispiel zeigt eine CSV-Datei, kein Datenrahmen. Planen Sie "Pandas" oder einen CSV-Reader? – DyZ

+0

Es ist ein Datenrahmen, ich drucke es nur zum Lesen auf den CSV. danke –

Antwort

0

können Sie die .str.strip() Methoden verwenden:

prefix = '/Users/xccxken/Desktop/NNRelease/paperVersion/' 
suffix = '.txt' 
df['name'] = df['name'].str.rstrip(suffix).str.lstrip(prefix) 

oder reguläre Ausdrücke:

description = r'([^/]+)\.txt' 
df['name'] = df['name'].str.extract(description) 
+0

danke. kannst du mir sagen, ob ich "Topic + Topic_of_Situation.othersituation" zu "Topic + Topic_of_Situation" extrahieren möchte, wie schreibe ich 'description2'. 'Topic + Topic_of_Situation' zu 'Topic', wie schreibe 'description3', danke! –

+0

Sie haben mehrere verschiedene Muster in Ihrem Rahmen. Vielleicht möchten Sie mehr über reguläre Python-Ausdrücke (https://docs.python.org/3/library/re.html) lesen und mit ihnen online spielen, um den Ausdruck zu finden, der funktioniert: https://regex101.com/ – DyZ

Verwandte Themen